在c#中将列表转换为xml

时间:2015-02-23 10:54:00

标签: c# asp.net xml list

我有一个字符串列表。我需要将其转换为xml文档。我正在使用XElement来实现这一目标。

   List<string> list= myString.Split(',').ToList();

  XElement xmlElements = new XElement("Root", new XElement("Number",list.Select(i => new XElement("Num", i)))); 
               System.Console.Write(xmlElements);
               System.Console.Read();

我得到以下格式。

<Root>
 <Number>
  <Num></Num>
 <Num></Num>
 </Number>
</Root>

但我需要这样的东西。

 <Root>
  <Number id=1>
    <Num></Num>
  </Number>
 <Number id=2>
   <Num></Num>
 </Number>
</Root>

如何实现这一目标。

1 个答案:

答案 0 :(得分:7)

如果id表示索引,则为:

XElement xmlElements = 
    new XElement("Root",        
        list.Select((i, index) => new XElement("Number", 
                                      new XAttribute("id", index),
                                      new XElement("Num", i))));

&#34; a,b,c&#34;的结果将是

<Root>
  <Number id="0">
    <Num>a</Num>
  </Number>
  <Number id="1">
    <Num>b</Num>
  </Number>
  <Number id="2">
    <Num>c</Num>
  </Number>
</Root>