如何在Java中使用XPath获取属性值?

我需要使用XPath解析以下XML:

<?xml version=“1.0”encoding=“UTF-8”?>
<模式>
<element name=“name\u ele1”id=“name\u id\u 1”>测试名称1&lt/元素>
<element name=“name\u ele2”id=“name\u id\u 2”>测试名称2&lt/元素>
<element name=“name\u ele2”id=“name\u id\u 3”>测试名称3&lt/元素>
&lt/模式>

我想根据传递的Id从xml文档中获取“name”,但我无法获取所需的数据,而查询返回空白

XPathExpression expr=xpath.compile(“/schema/element[@id='name\u id\u 2']]/name/text()”;

像这样:

XPathExpression expr=xpath.compile(“/schema/element[@id='name\u id\u 2']/@name”);

表达式尝试选择name元素中的文本,而不是name属性的值

发表评论