LINQ to XML:项目到列表<string> </string>

时间:2012-10-11 13:55:57

标签: c# xml linq linq-to-xml

使用LINQ to XML,如何将以下XML数据投影到List<string>,其值为“Test1”,“Test2”和“Test3”。

<objectlist>
    <object code="Test1" />
    <object code="Test2" />
    <object code="Test3" />
</objectlist>

我在字符串中提供了XML:

XDocument xlist = XDocument.Parse(xmlData);

由于

2 个答案:

答案 0 :(得分:2)

var query = from node in xlist.Root.Elements("object")
            select node.Attribute("code").Value

var result = query.ToList();

或者,使用扩展方法语法:

var query = xlist.Root.Elements("object")
               .Select(node => node.Attribute("code").Value)
               .ToList()

答案 1 :(得分:1)

var xDoc = XDocument.Parse(xml);
List<string> codes = xDoc.Descendants("object")
                        .Select(o => o.Attribute("code").Value)
                        .ToList();