如何从子节点列表中获取父节点的属性值。(XPath)

时间:2015-06-08 17:11:30

标签: xml xpath xml-parsing attributes parent-node

这是要求

我有一个看起来像这样的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);

现在,我正在尝试获取分隔符block.i.e的父节点属性(r,l)值

之类的东西
int separatorDistanceFromRight = Integer.parseInt(((Element)separatorNodeList.item(i)).getParentNode().getAttribute("r"));

但上述情况似乎无效。任何快速帮助?

1 个答案:

答案 0 :(得分:1)

啊,我发现了这个。

int separatorDistanceFromRight = Integer.parseInt(separatorNodeList.item(i).getParentNode().getAttributes().getNamedItem("r").getNodeValue());