我有这样的代码:
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都是空的。为什么呢?
答案 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");