Как извлечь значение атрибута родительского узла из дочернего списка узлов (XPath)
Вот требование
У меня есть документ XML, который выглядит примерно так
-<page height="777" width="777">
-<block r="777" l="777" blockType="Separator">
+<region>
+<separator>
-<block r="777" l="777" blockType="Separator">
+<region>
+<separator>
-<block r="777" l="777" blockType="Text">
+<region>
+<text>
</page>
У меня есть все блоки- разделители в separatorNodeList
String expression = "//page/block/separator";
XPathExpression expr = xPath.compile(expression);
NodeList separatorNodeList = (NodeList) expr.evaluate(xmlDocument, XPathConstants.NODESET);
Теперь я пытаюсь получить значение атрибута (r,l) родительского узла разделителя block.ie что-то вроде
int separatorDistanceFromRight = Integer.parseInt(((Element)separatorNodeList.item(i)).getParentNode().getAttribute("r"));
Но вышесказанное не похоже на работу. Любая быстрая помощь??
1 ответ
Решение
Ааа, я нашел это.
int separatorDistanceFromRight = Integer.parseInt(separatorNodeList.item(i).getParentNode().getAttributes().getNamedItem("r").getNodeValue());