这是我的xml文件,名为wfXml.xml
<?xml version="1.0" encoding="utf-8" ?>
<webformname>
<wbfrm>
<wfname>WebForm1</wfname>
<wfrm>WebForm1.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm2</wfname>
<wfrm>WebForm2.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm3</wfname>
<wfrm>WebForm3.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm4</wfname>
<wfrm>WebForm4.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm5</wfname>
<wfrm>WebForm5.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm6</wfname>
<wfrm>WebForm6.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm7</wfname>
<wfrm>WebForm7.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm8</wfname>
<wfrm>WebForm8.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm9</wfname>
<wfrm>WebForm9.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm10</wfname>
<wfrm>WebForm10.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm11</wfname>
<wfrm>WebForm11.aspx</wfrm>
</wbfrm>
<wbfrm>
<wfname>WebForm12</wfname>
<wfrm>WebForm12.aspx</wfrm>
</wbfrm>
</webformname>
这是我发现的代码示例,它使用xmldoc和Linq,但它只处理一个元素。如何为包含2个元素的xml文件实现此代码?
XDocument doc = XDocument.Parse(xml);
List<string> list = doc.Root.Elements("id")
.Select(element => element.Value)
.ToList();
答案 0 :(得分:0)
我想我是懒惰的。我提出了这个例程,我可以创建我的列表 - 只是看起来有点冗长。任何改进方式的建议都将受到赞赏:
XDocument doc = XDocument.Load(path + "wfXml.xml");
var wfrms = from r in doc.Descendants("wbfrm")
select new
{
Wfname = r.Element("wfname").Value,
Wfrm = r.Element("wfrm").Value
};
foreach (var m in wfrms)
{
Response.Write(string.Format( "{0}, {1} <br />", m.Wfname, m.Wfrm));
}
然后我可以填充我的List --string,string - 或者可能使用wfrms作为数据源本身。