Измените существующее содержание XML в C#

Цель: Я планирую Создать XML-файл с XmlTextWriter и Изменить/Обновить некоторое Существующее Содержание с XmlNode SelectSingleNode (), узел. ChildNode[?].InnerText = что-то, и т.д.

После того, как я создал XML-файл с XmlTextWriter как ниже.

XmlTextWriter textWriter = new XmlTextWriter("D:\\learning\\cs\\myTest.xml", System.Text.Encoding.UTF8);

Я практиковал код ниже. Но отказавший для сохранения моего XML-файла.

XmlDocument doc = new XmlDocument();
doc.Load("D:\\learning\\cs\\myTest.xml");

XmlNode root = doc.DocumentElement;
XmlNode myNode;

myNode= root.SelectSingleNode("descendant::books");

....

textWriter.Close();

doc.Save("D:\\learning\\cs\\myTest.xml");  

Я нашел, что не хорошо произвести как мой путь. Есть ли какое-либо предложение об этом? Я не соглашаюсь с понятиями и использованием и XmlTextWriter и XmlNode в том же проекте. Спасибо за чтение и ответы.

20
задан VBorisoff 25 February 2019 в 13:28
поделиться

2 ответа

Что ж, если вы хотите обновить узел в XML, XmlDocument подойдет - вам не нужно использовать XmlTextWriter .

XmlDocument doc = new XmlDocument();
doc.Load("D:\\build.xml");
XmlNode root = doc.DocumentElement;
XmlNode myNode = root.SelectSingleNode("descendant::books");
myNode.Value = "blabla";
doc.Save("D:\\build.xml");
31
ответ дан 29 November 2019 в 22:43
поделиться

XmlTextWriter обычно используется для создания (не обновления) содержимого XML. Когда вы загружаете XML-файл в XmlDocument, вам не нужен отдельный писатель.

Просто обновите выбранный вами узел и .Save () этот XmlDocument.

6
ответ дан 29 November 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: