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