Visual Basi c XMLTextWriter -> без разрыва строки после WriteRaw - PullRequest
0 голосов
/ 27 января 2020

Последние пару часов я пытался заставить свой код делать то, что я хочу. Не работает.

Итак, у меня есть файл 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 в выходном файле, это

 &lt;NodesFromWriteRaw FileName="example"&gt;
    &lt;Sub Attrib="" /&gt;
    &lt;Sub Attrib="" /&gt;
  &lt;/NodesFromWriteRaw&gt;

вместо <...>

И когда я делаю WriteString ("\ n" ) или что-то, то \ n находится внутри текста. что происходит

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...