0
我相信這是相對簡單的。我想通過下面的XML循環,每次我點擊一個新的名稱空間,重置變種。通過xml循環重置每個循環上的var
XmlNodeList nodes = reports.SelectNodes("Reports/namespace");
foreach (XmlNode NSpace in nodes)
{
List<string> newlist = new List<string>();
//loop through checks one by one.
foreach (XmlElement element in reports.GetElementsByTagName("report"))
{
doStuff
}
}
我知道這是錯誤的,因爲它簡單地通過將整個XML塊4次(對每個命名空間),由於以下循環。
foreach (XmlElement element in reports.GetElementsByTagName("report"))
有人可以建議我需要的xpath或正確的循環嗎?
XML
<Reports>
<namespace Type="first">
<report>
<name>first_1</name>
</report>
<report>
<name>first_2</name>
</report>
<report>
<name>first_3</name>
</report>
</namespace>
<namespace Type="Second">
<report>
<name>Second_1</name>
</report>
</namespace>
<namespace Type="Third">
<report>
<name>Third_1</name>
</report>
</namespace>
<namespace Type="Fourth">
<report>
<name>Fourth_1</name>
</report>
</namespace>
</Reports>
錯誤\t \t 36「System.Xml.XmlNode」不包含關於「的getElementsByTagName」和沒有擴展方法「的getElementsByTagName」接受類型「System.Xml.XmlNode」的第一個參數的定義可以找到(是否缺少using指令或程序集引用) – user1156000 2012-01-18 11:04:50
@ user1156000:編輯...(這是一個原因,我更喜歡的LINQ to XML) – 2012-01-18 11:05:31
這是完美的 - 感謝? – user1156000 2012-01-18 11:12:28