Как я могу генерировать XML с CR, а не CRLF в XMLTextWriter

StackOverflow https://stackoverflow.com/questions/3415294

  •  26-09-2019
  •  | 
  •  

Вопрос

Я генерирую XML через XMLTextWriter.

Файл выглядит хорошо для моих глаз, утверждает (в WC3) и был принят клиентом.

Но клиентский поставщик жалуется на то, что кончаги линии являются CRLF, а не просто CR.

Ну, я на машине Win32, используя C #, и CRLF - это стандартная линия Win32. Есть ли способ изменить линейные окончания в XMLTextWriter?

Также - не должны линейные окончания не имеют значения для правильного XML-парсера?

смотрите также: Что такое возврат каретки, линейный штук и форма формы?

Примечание. Похоже, что единственный ответ - это боковое решение - вы должны использовать XMLWerier вместо XMLTextWriter

Это было полезно?

Решение

Конечно, моменты после спроса я нахожу ключ на MSDN (что я не мог найти через Google), который относится к Xmlwritersettings.newineChars

что тогда привело меня к неприемлемуся ответу на Итак: запись XMLDocument в файл с определенным символом Newline (C #)

Это все в терминологии .....

Другие советы

Используйте XMLWritersettings, чтобы установить то, что вы хотите, чтобы ваш конец строки CHAR.

XmlWriterSettings mySettings = new XmlWriterSettings();
mySettings.NewLineChars = "\r";

XmlWriter writer = XmlWriter.Create(
                         new StreamWriter(@"c:\temp\hello.xml", mySettings);

Я не знаю, где будет иметь значение в конце линии. Я не бел в это раньше.

Какая линия заканчивается, не должна иметь значение для правильно реализованного парсера (см. Спец), Я цитирую (упор мой):

Чтобы упростить задачи приложений, процессор XML должен вести себя так, как будто это нормализовано все разрывы линии В внешних анализируемых сущностях (в том числе объект документа) на вход, перед анализами, переводя как двухсимурную последовательность #xd #xa и любой #xD, который не следует #xa в один символ #xa.

Поэтому вы должны быть в порядке с тем, как у вас есть сейчас. Возможно, вы захотите спросить, что поставщик клиента на самом деле делает там, шансы - это то, что они делают это неправильно.

Используйте XMLWritersettings.newineChars свойство.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top