Последние пару часов я пытался заставить свой код делать то, что я хочу. Не работает.
Итак, у меня есть файл xml с несколькими вещами. В моей программе я читаю этот файл, но мне ничего не нужно. После того, как я внес изменения, программа должна сохранить строки XML, которые считываются + те, которые не находятся в одном файле. Вот почему мне все равно нужно читать другую часть, иначе она будет перезаписана.
Поэтому я решил просто буферизовать другие части в строке (на самом деле это список, но это не имеет значения) с помощью
Dim str as String = XmlReader.ReadOuterXml
После этого, когда файл сохраняется, я делаю
XmlTextWriter.WriteRaw(str)
Это тоже работает, но как-то после необработанного ввода мои другие функции записи, такие как
XmlTextWriter.WriteStartElement("Change")
XmlTextWriter.WriteAttributeString("test", a.test)
XmlTextWriter.WriteEndElement()
не получит разрыв строки и все будет в одной строке до конца файла, что приведет к ошибке или неправильному вводу при повторной загрузке файла в другом экземпляре.
Что я делаю неправильно и почему это ...
Нужно ли говорить XmlTextWriter.EndRaw или что-то еще? Я не знаю, потому что этого не существует.
Спасибо за помощь мне
Редактировать:
Мой Xml выглядит так
<main>
<NodesFromInstance Test="...">
<NodesFromWriteRaw>
<NodesFromWriteRaw>
</main>
Когда я делаю WriteString вместо WriteRaw в выходном файле, это
<NodesFromWriteRaw FileName="example">
<Sub Attrib="" />
<Sub Attrib="" />
</NodesFromWriteRaw>
вместо <...>
И когда я делаю WriteString ("\ n" ) или что-то, то \ n находится внутри текста. что происходит