C# 如何使用Xpath获取所有节点属性和值?
我有以下XML:C# 如何使用Xpath获取所有节点属性和值?,c#,.net,xml,xpath,C#,.net,Xml,Xpath,我有以下XML: <xmlRequest> <stats> <player_stats aid="254664"> <stat name="nickname">lethallynx</stat> <stat name="acc_games_played">671</stat> <stat name="acc_wi
<xmlRequest>
<stats>
<player_stats aid="254664">
<stat name="nickname">lethallynx</stat>
<stat name="acc_games_played">671</stat>
<stat name="acc_wins">397</stat>
<stat name="acc_losses">274</stat>
<stat name="acc_concedes">179</stat>
</player_stats>
</stats>
</xmlRequest>
获取所有具有属性的节点,但我似乎无法访问它们的值
有人能给我指出正确的方向吗?您的命令正在选择name的所有属性。尝试此操作以获取具有name属性的所有元素:
doc.SelectNodes("//*[@name]");
如果您只想获得stat“昵称”的值,那么您可以这样写:
XmlNode node = doc.SelectSingleNode("//stat[@name='nickname']/text()");
Console.WriteLine(node.Value); // "lethallynx"
说明:
- 部分
返回文档中所有//stat
元素的列表 - 部分
在[@name='昵称']
属性上过滤此列表,因此在本例中,您只需要一个元素name
- 部分
选择此/text()
元素内的textnode
XmlNode node = doc.SelectSingleNode("//stat[@name='nickname']/text()");
Console.WriteLine(node.Value); // "lethallynx"