我有一个带有一些节点的 XML 文档,例如
<node name="xxx" id="xxx">
我可以使用单个 XPath 表达式来获取其父节点也具有 atrtribute 的所有属性节点@id = 7
吗?
我有一个带有一些节点的 XML 文档,例如
<node name="xxx" id="xxx">
我可以使用单个 XPath 表达式来获取其父节点也具有 atrtribute 的所有属性节点@id = 7
吗?
使用:
//@*[not(name()='id') and ../@id = 7]
id
这将选择其父级具有值为 number的属性的所有非 id 属性7
。这将接受id='7'
并id=' 7 '
//@*[not(name()='id') and ../@id = '7']
id
这将选择其父级具有值为 string的属性的所有非 id 属性'7'
。这将接受id='7'
但不id=' 7 '
不可以。您需要逐一定义要读出的属性。
/node[@id=7]/@name
会得到name
/node[@id=7]/@id
会得到id
等等
这将选择所有值为 7 的id
属性节点:
//*/@id[. = '7']