我有这样的代码:
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都是空的。为什么?
"span" XPath 表示"名称为 span
的直接子节点"。因为直系孩子是root
你什么也得不到。
您需要"//span"
(树中从根开始的所有跨度)或"/root/span"
(根中的"根",而不是其"跨度"子项)。
我不知道为什么是doc。SelectNodes() 不适合你,但使用 XmlNode 应该会给你你想要的列表。
...
doc.LoadXml(xml);
XmlNode root = doc.DocumentElement;
XmlNodeList varsList = root.SelectNodes("span");