【问题标题】:C# - Xml manipulation using XmlDocumentC# - 使用 XmlDocument 操作 Xml
【发布时间】:2009-09-10 00:49:52
【问题描述】:

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

【问题讨论】:

    标签: c# xml xmldocument


    【解决方案1】:

    您需要在原始 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";
    

    【讨论】:

      猜你喜欢
      • 2021-11-28
      • 2016-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 2015-05-18
      • 1970-01-01
      相关资源
      最近更新 更多