2009-09-10 23 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";