2

I have a list of string. I need to convert it into an xml document. Am using XElement to achieve this.

   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();

I get the below format.

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

But I need something like this.

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

How to achieve this.

Aswini
  • 51
  • 4
  • 16
  • 2
    possible duplicate of [Convert list to XML?](http://stackoverflow.com/questions/17043663/convert-list-to-xml) – Mahesh Feb 23 '15 at 10:57

1 Answers1

7

If by an id you mean an index, then:

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

The result for the "a,b,c" will be

<Root>
  <Number id="0">
    <Num>a</Num>
  </Number>
  <Number id="1">
    <Num>b</Num>
  </Number>
  <Number id="2">
    <Num>c</Num>
  </Number>
</Root>
aush
  • 2,108
  • 1
  • 14
  • 24