2010-03-26 8 views
1

Je suis générer un arbre xml:Ajouter un nœud à l'arbre 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))); 
    } 
} 

Ce code générer suivi arbre xml:

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

Et je veux ajouter un nouvel élément au nœud sub1 en utilisant le code comme que

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

Mais ce code ne fonctionne pas comme je le souhaite. C'est juste ajouter un nouveau nœud à la racine. Quelle est la bonne façon de faire cela?

Répondre

4

Utilisation:

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

Fondamentalement qui est de trouver le existant élément sub1 et l'ajout d'un nouveau sous-élément, plutôt que d'ajouter un nouvel élément sub1.

Questions connexes