XElement => Добавить дочерние узлы во время выполнения

Итак, давайте предположим, что это то, чего я хочу достичь:

<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>

Не уверен, что использование XElement - самый простой способ
, но это то, что у меня есть:

 XElement x = new XElement("root",
                  new XElement("name", "AAA"),
                  new XElement("last", "BBB"));

Теперь я должен добавить "дети" на основании некоторых данных, которые у меня есть.
Там может быть 1,2,3,4 ...

, поэтому мне нужно пройтись по моему списку, чтобы получить каждый дочерний элемент.

foreach (Children c in family)
{
    x.Add(new XElement("child", 
              new XElement("name", "XXX"),
              new XElement("last", "TTT")); 
} 

ПРОБЛЕМА:

В этом случае мне будет не хватать родительского узла CHILDREN . Если я просто добавлю его перед foreach, он будет отображен как закрытый узел

<children/>

, а это НЕ то, что мы хотим.

ВОПРОС:

Как я могу добавить к первой части родительский узел и столько, сколько есть в моем списке?

34
задан Neolisk 11 December 2012 в 17:11
поделиться