在C#中,如何使用XmlDocument将xml中的节点替换为另一个节点。
例如,请考虑以下xml文件。
<Products>
<Product ProdID="1">
<Data>abc</Data>
</Product>
<Product ProdID="2">
<Data>def</Data>
</Product>
</Products>
我们说我需要替换
<Product ProdID="2">
<Data>def</Data>
</Product>
使用新节点
<Product ProdID="2">
<Data>xyz</Data>
</Product>
答案 0 :(得分:5)
您需要在原始XmlDocument中找到要替换的XmlElement,并将新节点准备为XmlNode。然后,您可以调用ReplaceChild以使用新节点替换旧节点。
XmlNode product2 = document.SelectSingleNode(...);
XmlNode newNode = document.CreateElement(...);
product2.ParentNode.ReplaceChild(newNode, product2);
如果您只想更改Data标记的值,请在XmlDocument中找到该节点并设置Value属性:
XmlNode data = document.SelectSingleNode(...);
data.Value = "xyz";