Удаляемый узел не является дочерним по отношению к этому узлу.

У меня есть код, который должен добавить XmlElement к корневому элементу документа или замените существующий элемент, если он есть. Вот мой код:

if (existingInfo != null)
{
    existingInfo.ParentNode.ReplaceChild(existingInfo, newInfo);
}
else
{
    this.rootElement.AppendChild(info)
}
configDocument.Save(this.filePath);

Если я добавляю новый элемент, это не проблема. Однако, когда я пытаюсь добавить новый элемент, я получаю ArgumentException о том, что "удаляемый узел не является дочерним по отношению к этому узлу"

Это приложение версии 2.0.


person Fr33dan    schedule 13.12.2012    source источник


Ответы (1)


Как указано в документации, первым аргументом ReplaceChild должен быть новый узел, а не старый.

Поэтому попробуйте:

existingInfo.ParentNode.ReplaceChild(newInfo, existingInfo);
person O. R. Mapper    schedule 13.12.2012
comment
Это всегда мелочи. Я не могу проверить это прямо сейчас, но я отмечаю это как ответ, так как уверен, что это моя ошибка. - person Fr33dan; 14.12.2012