java - XPath 读取根元素返回 null

标签 java xml xpath

给定一个 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/

相关文章:

JAVA不能对非静态字段做静态引用

java - 比较不同时区的两个日期对象并获取精确的时间差(以秒为单位)

php - 使用php使用glob和数组将文件夹中的xml文件上传到Mysql

python - 为什么 Selenium 给我一个不区分大小写的 Style 属性?

java - 打印 Tomcat DBCP DataSource 对象的属性

java - 单击按钮时更改 xml 页面中的图像.. android

java - 无法使用 JDOM 和 Xpath 提取 xml 值元素

xml - 计算 XPath 属性中字符串的出现次数

java - 基于高效 Camel 内容的路由器 : Route XML messages to the correct recipient based on contained tag with Java DSL

java - Sqlexception 在 Mysql Workbench 上工作时对空结果集进行非法操作