1

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

1 回答 1

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";
于 2009-09-10T01:02:35.873 回答