Кодировка возврата каретки XML - PullRequest
42 голосов
/ 15 февраля 2010

Я хотел представить возврат каретки в узле xml.
Я попытался сохранить пробел, шестнадцатеричный объект без удачи- & # x0D; и \ n. просмотр через браузер.

Пример

<Quote>
Alas, poor Yorick!
I knew him
</Quote>

Спасибо.

Ответы [ 3 ]

71 голосов
/ 15 февраля 2010

Чтобы вставить CR в XML, вам нужно использовать его символьную сущность &#13;.

Это потому, что совместимые анализаторы XML должны перед синтаксическим анализом преобразовать CRLF и любой CR, за которым не следует LF, в один LF. Это поведение определено в разделе Обработка конца строки спецификации XML 1.0.

14 голосов
/ 15 февраля 2010

xml:space="preserve" должно работать для всех совместимых парсеров XML.

Однако обратите внимание, что в HTML разрыв строки - это просто пробел, а НЕ разрыв строки (это обозначается тегом <br /> (X) HTML, возможно, это проблема, с которой вы столкнулись.

Вы также можете добавить &#10; и / или &#13; для вставки символов CR / LF.

1 голос
/ 15 февраля 2010

Браузер не собирается показывать вам пробелы надежно. Я рекомендую команду Linux 'od', чтобы увидеть, что там на самом деле. Соответствующие парсеры XML будут уважать все перечисленные вами методы.

...