2010-03-26 10 views
1

я генерации XML-дерево:Добавить новый узел в 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"))); 

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

ответ

4

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

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

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

Смежные вопросы