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 に答える