如何将文件xml中的所有属性转换为一个列表

时间:2014-05-05 16:18:03

标签: c# xml

我有一个xml文件定义如下:

  <test>
    <categories category ="Jan">
  </test>
  <test>
    <categories category ="Feb">
  </test>
  <test>
    <categories category ="Mar">
   </test>
and so on ..

有没有办法获得已经单独定义的所有属性的列表:

  <test>
  <categories>Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec</categories>
  </test>

1 个答案:

答案 0 :(得分:3)

试试这个:

// Here you will load your xml in memory, creating an object of type XDocument.
XDocument doc = XDocument.Load("...");

// Here you get the unique categories of your xml.
var categories = (from t in doc.Descendants("test")
                  where t.Attribute("category") != null &&
                  !string.IsNullOrEmpty(t.Attribute("category").Value
                  select t.Attribute("category").Value).Distinct();

使用上面的代码片段,您将获得xml文件中所有唯一类别的序列。