我有一个带有一些节点的XML文档,比如
<node name="xxx" id="xxx">
我是否可以使用单个XPath表达式来获取其父级还具有atrtribute @id = 7
的所有属性节点?
答案 0 :(得分:2)
使用强>:
//@*[not(name()='id') and ../@id = 7]
这将选择其父级具有id
属性且值为7
的所有非id属性。这将接受id='7'
和id=' 7 '
//@*[not(name()='id') and ../@id = '7']
这将选择其父级具有id
属性且值为字符串'7'
的所有非id属性。这将接受id='7'
但不接受id=' 7 '
答案 1 :(得分:1)
没有。您需要定义要读取的属性 - 逐个。
/node[@id=7]/@name
将获得name
/node[@id=7]/@id
将获得id
等
答案 2 :(得分:1)
这将选择值为7的所有id
属性节点:
//*/@id[. = '7']