2015-02-23 48 views
2

我有一个字符串列表。我需要将它转换成一个XML文档。我正在使用XElement来实现这一点。将列表转换为xml中的c#

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> 

如何做到这一点。

+2

[转换列表中XML可能重复? ](http://stackoverflow.com/questions/17043663/convert-list-to-xml) – 2015-02-23 10:57:19

回答

7

如果一个id你的意思是一个索引,那么:

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

的结果 “A,B,C” 将

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