从XDocument </string>返回List <string>

时间:2012-11-20 00:21:53

标签: linq c#-4.0

<dataList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <headers>
  <header>Template name</header> 
  </headers>
 <rows>
 <row>
  <data>Template1</data> 
  </row>
 <row>
  <data>Template2</data> 
  </row>
  </rows>
</dataList>



        XDocument xml = new XDocument();
        xml = XDocument.Parse(xmlstringFromAbove);
        List<string> list = (from c in xml.Elements("data")
                             select c.Value).ToList();

此代码返回一个空列表。

如何获取包含Template1和Template2的字符串列表?

1 个答案:

答案 0 :(得分:3)

Elements方法仅返回直接子项,而是使用Descendants

var xml = XDocument.Parse(xmlstringFromAbove);
var list = (from c in xml.Descendants("data") select c.Value).ToList();