我有以下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>
我正在尝试获取stat "nickname"
的值。
我尝试使用:
XmlNodeList nodes = doc.SelectNodes("//@name");
要获取具有属性的所有节点,但我似乎无法访问它们的值。
有人能指出我正确的方向吗?
答案 0 :(得分:2)
如果您只想获取统计“昵称”的值,那么您可以写下:
XmlNode node = doc.SelectSingleNode("//stat[@name='nickname']/text()");
Console.WriteLine(node.Value); // "lethallynx"
说明:
//stat
会返回文档中所有<stat>
元素的列表。[@name='nickname']
会在name
属性上过滤此列表,因此在这种情况下,您最终只会使用一个元素。/text()
选择此<stat>
元素中的textnode。答案 1 :(得分:0)
您的命令是选择名称的所有属性。尝试使用name属性获取所有元素:
doc.SelectNodes("//*[@name]");