C# - 使用XmlDocument进行Xml操作

时间:2009-09-10 00:49:52

标签: c# xml xmldocument

在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>

1 个答案:

答案 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";