创建和处理 XmlNodeList

本文关键字:XmlNodeList 处理 创建 | 更新日期: 2023-09-27 18:34:25

我有这样的代码:

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都是空的。为什么?

创建和处理 XmlNodeList

"span" XPath 表示"名称为 span 的直接子节点"。因为直系孩子是root你什么也得不到。

您需要"//span"(树中从根开始的所有跨度)或"/root/span"(根中的"根",而不是其"跨度"子项)。

我不知道为什么是doc。SelectNodes() 不适合你,但使用 XmlNode 应该会给你你想要的列表。

...
doc.LoadXml(xml);
XmlNode root = doc.DocumentElement;
XmlNodeList varsList = root.SelectNodes("span");