首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎样用xPath取得XmlNode节点的第一级子节点

2012-06-30 
怎样用xPath获得XmlNode节点的第一级子节点xml 格式如下:XML codeACTION Name学生ITEM Name张三

怎样用xPath获得XmlNode节点的第一级子节点
xml 格式如下:

XML code
<ACTION Name="学生">        <ITEM Name="张三">             <ITEM Name="李四" />             <ITEM Name="王⑤" />        </ITEM>        <ITEM Name="李四"/></ACTION>

可以看到 item有两个不同级的节点的name属性都是“李四”,怎么样通过xPath获得最下面的那个李四?求大神们指点

[解决办法]
C# code
@"/ACTION/ITEM[@Name='李四']"
[解决办法]
doc.SelectSingleNode("/ACTION/ITEM[@Name='李四']")是正确的,
第一个节点的方法

doc.SelectSingleNode("/ACTION/ITEM/ITEM[@Name='李四']")
[解决办法]
探讨

这个方法我试过的,行不通的,由于Action节点的子节点跟孙节点都是ITEM,所以,根据这个xPath获得的是这两个节点,并非是最下面的那个节点,如果用SelectSingleNode方法,得到的是第一个李四

[解决办法]
@"/ACTION/ITEM[@Name='李四']"是正确的,按lz所说,那是@"/ACTION//ITEM[@Name='李四']",才会取到2个节点。

热点排行