C # - манипулирование XML с использованием XmlDocument - PullRequest
1 голос
/ 10 сентября 2009

В C # как заменить узел в xml другим узлом, используя XmlDocument.

Для E.g рассмотрим следующий 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 Ответ

5 голосов
/ 10 сентября 2009

Вам необходимо найти элемент XmlElement для замены в исходном XmlDocument и подготовить новый узел как 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";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...