как использовать XMLTextWriter для записи узла XML в указанной позиции

У меня есть файл xml, как показано ниже.

<?xml version="1.0" encoding="utf-8" ?>
<Book>
  <Title>Title</Title>
  <Content>Content</Content>
</Book>

Я хочу написать новый узел после «Содержимого», я знаю, как использовать XMLDocument для этого, есть ли способ использовать XMLTextWriter для этого?


person James    schedule 27.06.2012    source источник
comment
пожалуйста, укажите язык, который вы используете, т. е. C #, java и т. д.   -  person Ramesh Soni    schedule 27.06.2012
comment
Вы хотите изменить XML-документ, так почему же вы возражаете против работы с сущностью XML-документа? XMLTextWriter предназначен для записи существующего объекта XML-документа в файл, а не для изменения чего-либо.   -  person penartur    schedule 27.06.2012


Ответы (1)


Вам нужно будет написать весь XML-документ, то есть все элементы, атрибуты и значения атрибутов, используя класс XmlTextWriter. После того, как вы написали элемент <Content>, вы можете написать дополнительный элемент.

Что-то вроде этого:

writer.WriteStartDocument();
writer.WriteStartElement("Book");
writer.WriteStartElement("Title");
writer.WriteString("Title");
writer.WriteEndElement();
writer.WriteStartElement("Content");
writer.WriteString("Content");
writer.WriteEndElement();
// insert your new data here
writer.WriteEndElement();
writer.WriteEndDocument();
person O. R. Mapper    schedule 27.06.2012