我有像
这样的 XML ...
<S head="X">
<A head="X">
<A1 head="Z">
<A2 head="X">
<B head="Y">
</S>
...
我想选择 S
的子级,其属性值为“X”。 (注意,我对元素 S
、A
、B
... 的名称一无所知)
我试过了
string headTag = node.SelectSingleNode("//*[@head='X']").Name;
它返回“S”,而如果node
指向S
,我希望得到“A”,如果node
指向“A2”到A
。
最佳答案
此 XPath 将选择所有 @head
属性值等于 X
的子元素,无论其名称如何:
./*[@head='X']
从当前节点开始。
当前节点为S
时,会选择A
;当当前节点是A
时,它会选择A2
,全部按照要求。
关于c# - 根据 XPath 中的属性值选择当前节点的子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35272875/