给定一个 XML 文件,例如:
<source>
<element value="a">
<element value="b">
</source>
我正在尝试使用 Java 和 XPath 读取 XML 的根元素(“源”):
public String parseExpression(Document doc) {
NodeList nodeList = (NodeList) xPath.compile("/").evaluate(
doc, XPathConstants.NODESET);
return nodeList.item(0).getFirstChild().getNodeValue();
}
但是它返回 null。为什么?
最佳答案
因为.getNodeValue();
不返回属性的值。请尝试使用 (Element)nodeList.item(0).getFirstChild()).getAttribute("value")
代替。
您尝试读取的值不在您正在访问的元素节点中。
它位于一个单独的属性节点中,只有当您将 NodeList 条目转换为 Element 时才能访问该属性节点。
关于java - XPath 读取根元素返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26734740/