Цель: Я планирую Создать 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 в том же проекте. Спасибо за чтение и ответы.
Что ж, если вы хотите обновить узел в 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");
XmlTextWriter обычно используется для создания (не обновления) содержимого XML. Когда вы загружаете XML-файл в XmlDocument, вам не нужен отдельный писатель.
Просто обновите выбранный вами узел и .Save () этот XmlDocument.