单个xpath表达式以获取一些属性

时间:2010-11-13 10:06:25

标签: c# xml xpath xmldocument selectnodes

我有一个带有一些节点的XML文档,比如

<node name="xxx" id="xxx">

我是否可以使用单个XPath表达式来获取其父级还具有atrtribute @id = 7的所有属性节点?

3 个答案:

答案 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']