Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net c中将包含多个元素的xml文件读取到列表中_C#_Asp.net_Xml_Linq - Fatal编程技术网

C# 在asp.net c中将包含多个元素的xml文件读取到列表中

C# 在asp.net c中将包含多个元素的xml文件读取到列表中,c#,asp.net,xml,linq,C#,Asp.net,Xml,Linq,这是我的名为wfXml.xml的xml文件 <?xml version="1.0" encoding="utf-8" ?> <webformname> <wbfrm> <wfname>WebForm1</wfname> <wfrm>WebForm1.aspx</wfrm> </wbfrm> <wbfrm> <wf

这是我的名为wfXml.xml的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();

我想我是在偷懒。我想出了这个程序,我可以从中创建我的列表-只是看起来有点冗长。如有任何改进方法的建议,将不胜感激:

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));
}

然后我可以填充我的列表-字符串,字符串-或者可能使用wfrms作为数据源本身。

列表中的单个字符串和两个值会是什么样子?-理想的输出结构是什么?我只想创建一个简单的列表,用作gridview的数据源。这样我就可以在xml文件中使用Linq了。使用字典:dictionary dict=doc.genderantswbfrm.GroupByx=>Stringx.Elementwfname,y=>Stringy.Elementwfrm.todictionalyx=>x.Key,y=>y.FirstOrDefault;