Добавить новый узел в дерево XML - PullRequest
1 голос
/ 27 марта 2010

Я создаю дерево XML:

var root = new XElement("Root");
for(int i =0;i<3;i++)
{ 
   var sub0lvl = new XElement(String.Format("sub{0}",i));
   root.Add(sub0lvl);
   for(int j=0;j<2;j++)
   {
     sub0lvl.Add(new XElement(String.Format("subsub{0}",i)));
   }
}

Этот код генерирует следующее дерево xml:

<Root>
  <sub0>
    <subsub0 />
    <subsub0 />
  </sub0>
  <sub1>
    <subsub1 />
    <subsub1 />
  </sub1>
  <sub2>
    <subsub2 />
    <subsub2 />
  </sub2>
  <sub8>
    <subsub123 />
  </sub8>
</Root>

И я хочу добавить новый элемент в узел sub1, используя такой код

root.Add(new XElement("sub1",new XElement("subsub123")));

Но этот код не работает так, как я хочу. Это просто добавить новый узел в корень. Как правильно это сделать?

1 Ответ

4 голосов
/ 27 марта 2010

Использование:

root.Element("sub1").Add(new XElement("subsub123"));

По сути, это поиск существующего элемента sub1 и добавление в него нового подэлемента вместо добавления нового элемента sub1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...