我有以下 XML:
<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>
我正在尝试获取统计信息 "nickname"
的值。
我尝试使用:
XmlNodeList nodes = doc.SelectNodes("//@name");
要获取所有具有属性的节点,但我似乎无法访问它们的值。
谁能指出我正确的方向?
最佳答案
如果你只是想获取stat“nickname”的值,那么你可以这样写:
XmlNode node = doc.SelectSingleNode("//stat[@name='nickname']/text()");
Console.WriteLine(node.Value); // "lethallynx"
解释:
- 部分
//stat
返回所有<stat>
的列表文档中的元素。 - 部分
[@name='nickname']
在name
上过滤此列表属性,所以在这种情况下,您最终只会得到一个元素。 - 部分
/text()
选择此<stat>
内的文本节点元素。
关于c# - 如何使用 Xpath 获取所有节点属性和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012076/