2

我有这样的代码:

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

4

2 回答 2

4

“span” XPath 表示“具有名称的直接子节点span”。由于直接的孩子是root你一无所获。

您想要"//span"(从根开始的树中的所有跨度)或"/root/span"(根处的“根”,而不是它的“跨度”子级)。

于 2013-10-08T23:51:20.907 回答
0

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

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

XmlNodeList varsList = root.SelectNodes("span");
于 2013-10-08T23:52:23.363 回答