So let's assume this is what i want to achieve:
<root>   <name>AAAA</name>   <last>BBBB</last>   <children>      <child>         <name>XXX</name>         <last>TTT</last>      </child>      <child>         <name>OOO</name>         <last>PPP</last>      </child>    </children> </root> Not sure if using XElement is the simplest way
 but this is what I have so far:  
 XElement x = new XElement("root",                   new XElement("name", "AAA"),                   new XElement("last", "BBB")); Now I have to add the "children" based on some data i have.
 There could be 1,2,3,4 ...
so I need to iterate thru my list to get every single child
foreach (Children c in family) {     x.Add(new XElement("child",                new XElement("name", "XXX"),               new XElement("last", "TTT"));  }  Doing this way I will be missing the "CHILDREN Parent node". If I just add it before the foreach, it will be rendered as a closed node
<children/> and that's NOT what we want.
How can I add to the 1st part a parent node and as many as my list has?
Try this:
var x = new XElement("root",              new XElement("name", "AAA"),              new XElement("last", "BBB"),              new XElement("children",                  from c in family                  select new XElement("child",                              new XElement("name", "XXX"),                              new XElement("last", "TTT")                         )              )         );  XElement root = new XElement("root",                   new XElement("name", "AAA"),                   new XElement("last", "BBB"));  XElement children = new XElement("children");  foreach (Children c in family) {     children.Add(new XElement("child",                new XElement("name", c.Name),               new XElement("last", c.Last));  } root.Add(children); If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With