给出一个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。为什么呢?
答案 0 :(得分:2)
因为.getNodeValue();
没有返回属性的值。请尝试使用(Element)nodeList.item(0).getFirstChild()).getAttribute("value")
。
您尝试读取的值不在您正在访问的元素节点中。
它位于单独的属性节点中,只有在将NodeList条目强制转换为Element时才可访问该节点。