2009-09-10 7 views
1

En C#, comment remplacer un noeud dans un fichier XML avec un autre noeud à l'aide de XmlDocument.C# - Manipulation de XML à l'aide de XmlDocument

Pour E.g, considérez le fichier xml suivant.

<Products> 
    <Product ProdID="1"> 
    <Data>abc</Data> 
    </Product> 
    <Product ProdID="2"> 
    <Data>def</Data> 
    </Product> 
</Products> 

Disons que je dois remplacer

<Product ProdID="2"> 
    <Data>def</Data> 
    </Product> 

avec un nouveau noeud

<Product ProdID="2"> 
    <Data>xyz</Data> 
    </Product> 

Répondre

5

Vous devez localiser le XmlElement à remplacer dans le XmlDocument original et que le nouveau noeud prêt comme XmlNode. Ensuite, vous pouvez appeler ReplaceChild pour remplacer l'ancien nœud par le nouveau nœud.

XmlNode product2 = document.SelectSingleNode(...); 
XmlNode newNode = document.CreateElement(...); 

product2.ParentNode.ReplaceChild(newNode, product2); 

Si vous voulez juste changer la valeur de la variable de données, recherchez le nœud dans le XmlDocument et définissez la propriété Value:

XmlNode data = document.SelectSingleNode(...); 
data.Value = "xyz"; 
Questions connexes