2013-10-08 84 views
1

我的代碼如下所示:創建和處理的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是空的。爲什麼?

回答

3

「span」XPath表示「名稱爲span的直接子節點」。由於直系小孩是root,你什麼也得不到。

你想要麼"//span"(全部跨越樹中的任何地方從根開始)或"/root/span"(根「根」,比它的「span」子)。

0

我不知道爲什麼doc.SelectNodes()不適合你,但使用XmlNode應該給你你想要的列表。

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

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