Как извлечь значение атрибута родительского узла из дочернего списка узлов (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());
Другие вопросы по тегам