XPath读取根元素返回null

时间:2014-11-04 12:05:52

标签: java xml xpath

给出一个XML文件:

<source>
   <element value="a">
   <element value="b">
</source>

我正在尝试使用Java和XPath读取XML的根元素(“source”):

public String parseExpression(Document doc)  {
   NodeList nodeList = (NodeList) xPath.compile("/").evaluate(
                    doc, XPathConstants.NODESET);
   return nodeList.item(0).getFirstChild().getNodeValue();
}

但是它返回null。为什么呢?

1 个答案:

答案 0 :(得分:2)

因为.getNodeValue();没有返回属性的值。请尝试使用(Element)nodeList.item(0).getFirstChild()).getAttribute("value")。 您尝试读取的值不在您正在访问的元素节点中。 它位于单独的属性节点中,只有在将NodeList条目强制转换为Element时才可访问该节点。