创建和处理XmlNodeList

时间:2013-10-08 23:27:35

标签: c# .net xml xmldocument xmlnodelist

我有这样的代码:

string xml = "<root><span tag=\"LUMP\" missingValue=\"3,4,5,6,7,8\" format=\"Disc\" varName=\"RACE\" label=\"Race/ethnicity\"><element value=\"1+2\" label=\"Total 1+2\" /><element value=\"1\" label=\"White\" /><element value=\"2\" label=\"Black or African American\" /></span></root>";

 doc.LoadXml(xml);

 XmlNodeList varsList = doc.SelectNodes("span");

但每次varsList都是空的。为什么呢?

2 个答案:

答案 0 :(得分:3)

“span”XPath表示“具有名称span的直接子节点”。由于直接孩子是root,你什么也得不到。

你想要"//span"(所有跨越树的任何位置从树开始)或"/root/span"(根“root”,而不是“span”子节点。)

答案 1 :(得分:0)

我不确定为什么doc.SelectNodes()不适合你,但是使用XmlNode会给你你想要的列表。

...
doc.LoadXml(xml);
XmlNode root = doc.DocumentElement;

XmlNodeList varsList = root.SelectNodes("span");