Имеется xml с множеством элементов. Некоторые элементы имеют одинаковое название но дочерние элементы могу отличаться.
Структура xml примерно следующая:
<tag1>
<tag2>data1</tag2>
<tag3>data2</tag3>
<tag4>
<tag5>
<tag6>value1</tag6>
<tag7>value2</tag7>
<tag8>value3</tag8>
<tag9>value4</tag9>
<tag10>value5</tag10>
</tag5>
<tag5>
<tag6>value6</tag6>
<tag7>value7</tag7>
<tag8>value8</tag8>
<tag9>value9</tag9>
<tag10>value10</tag10>
</tag5>
</tag4>
</tag1>
Необходимо получить значение tag9 если tag10 удовлетворяет определенному условию
Код java:
try {
DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = db.parse(new File("someXML.xml"));
Element root = doc.getDocumentElement();
NodeList tagFiveNodeList = root.getElementsByTagName("tag5");
for (int i = 0; i < tagFiveNodeList.getLength(); i++) {
Node tagFiveNode = tagFiveNodeList.item(i);
NodeList tagFiveChildNodes = tagFiveNode.getChildNodes();
for (int j = 0; j < tagFiveChildNodes.getLength(); j++) {
Node tagFiveChildNode = tagFiveChildNodes.item(j);
// проверка условия
if (tagFiveChildNode.getTextContent().contains("Some Text")) {
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
После проверки на содержание в любом из дочерних тегов определенного текста я хочу получить значение другого тега из этого же списка дочерних тегов.
Как мне это сделать?
Необходимо выполнить приведение Node
к Element
Element tagFiveNode = (Element)tagFiveNodeList.item(i);
А потом использовать метод getElementsByTagName
if (tagFiveNode.getElementsByTagName('tag10').item(0).getTextContent()....)
value = tagFiveNode.getElementsByTagName('tag9').item(0).getTextContent();
Это при условии, что такие узлы существуют. Если они могут отсутствовать, то нужно еще проверить размер коллекции, возвращаемой методом getElementsByTagName
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как переместить индикаторы текущего слайдера на само изображение, а не под ним? Пример на скриншоте:
После добавления класса "row" объекты попадают в нужную мне строку но приобретают ненужное мне свойство
Подскажите, как убрать отступы между кнопкамиЭти отступы нигде не фиксируются