C# - 使用XmlDocument进行Xml操作

Hap*_*cky 1 c# xml xmldocument

在C#中,如何使用XmlDocument将xml中的节点替换为另一个节点.

对于Eg,请考虑以下xml文件.

<Products>
  <Product ProdID="1">
    <Data>abc</Data>
  </Product>
  <Product ProdID="2">
    <Data>def</Data>
  </Product>
</Products>
Run Code Online (Sandbox Code Playgroud)

我们说我需要更换

  <Product ProdID="2">
    <Data>def</Data>
  </Product>
Run Code Online (Sandbox Code Playgroud)

使用新节点

  <Product ProdID="2">
    <Data>xyz</Data>
  </Product>
Run Code Online (Sandbox Code Playgroud)

dtb*_*dtb 5

您需要在原始XmlDocument中找到要替换的XmlElement,并将新节点准备为XmlNode.然后,您可以调用ReplaceChild以使用新节点替换旧节点.

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

product2.ParentNode.ReplaceChild(newNode, product2);
Run Code Online (Sandbox Code Playgroud)

如果您只想更改Data标记的值,请在XmlDocument中找到该节点并设置Value属性:

XmlNode data = document.SelectSingleNode(...);
data.Value = "xyz";
Run Code Online (Sandbox Code Playgroud)