2009-09-10 53 views
1

在C#中,如何使用XmlDocument將xml中的節點替換爲另一個節點。C# - 使用XmlDocument進行Xml操作

對於E.g,請考慮以下xml文件。

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

讓我們說我需要一個新的節點

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

回答

5

你需要找到的XmlElement在原來的XmlDocument及時更換,更換

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

,並有新的節點準備好作爲XmlNode。然後,您可以撥打ReplaceChild將舊節點替換爲新節點。

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

product2.ParentNode.ReplaceChild(newNode, product2); 

如果你只是想改變數據變量的值,找到XmlDocument的節點並設置Value屬性:

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