У меня есть SOAP-ответ, который я обрабатываю на Java. У него есть элемент с несколькими различными дочерними элементами. Я использую следующий код, чтобы попытаться захватить все узлы связи и найти, какой из них имеет дочерний тег со значением ACTIVE. NodeList, возвращаемый начальным оператором оценки, содержит 4 узла, что является правильным числом дочерних элементов в ответе SOAP, но все они являются дубликатами первого элемента. Вот код:
NodeList nodes = (NodeList)xpath.evaluate("//:bond", doc, XPathConstants.NODESET);
for(int i = 0; i < nodes.getLength(); i++){
HashMap<String, String> map = new HashMap<String, String>();
Element bond = (Element)nodes.item(i);
// Get only active bonds
String status = xpath.evaluate("//:status", bond);
String id = xpath.evaluate("//:instrumentId", bond);
if(!status.equals("ACTIVE"))
continue;
map.put("isin", xpath.evaluate(":isin", bond));
map.put("cusip", xpath.evaluate(":cusip", bond));
}
Спасибо за вашу помощь,
Джаред