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