@icktoofay был близок к CData
<myxml>
<record>
<![CDATA[
Line 1 <br />
Line 2 <br />
Line 3 <br />
]]>
</record>
</myxml>
В XML разрыв строки - это нормальный символ. Вы можете сделать это:
<xml>
<text>some text
with
three lines</text>
</xml>
и содержимое
будет
some text with three lines
. Если это не работает для вас, вы делаете что-то неправильно. Специальные «обходные пути», такие как кодирование разрыва строки, не нужны. С другой стороны, такие вещи, как \ n
, не будут работать, потому что XML не имеет escape-последовательностей * .
* Обратите внимание, что
- это символьный объект, который представляет разрыв строки в сериализованном XML. «XML не имеет управляющих последовательностей» означает ситуацию, когда вы взаимодействуете с документом DOM, устанавливая значения узлов через DOM API.
Здесь нет ни
и такие вещи, как \ n
, не будут работать, но будет фактический символ новой строки. Как этот символ попадает в сериализованный документ (то есть в "файл"), зависит от API и вас не должно волновать.
Поскольку вам кажется, что вам интересно, куда идут ваши разрывы строк в HTML: посмотрите в свой исходный код, вот они. HTML игнорирует разрывы строк в исходном коде. Используйте теги
для принудительного переноса строк на экране.
Вот функция JavaScript, которая вставляет
в многострочную строку:
function nl2br(s) { return s.split(/\r?\n/).join("<br>"); }
В качестве альтернативы вы можете принудительно переносить строки в символы новой строки с помощью CSS:
div.lines {
white-space: pre-line;
}
<song>
<title>Song Tigle</title>
<lyrics>
<line>The is the very first line</line>
<line>Number two and I'm still feeling fine</line>
<line>Number three and a pattern begins</line>
<line>Add lines like this and everyone wins!</line>
</lyrics>
</song>
(Поется на мотив Home on the Range)
Если бы это было мое, я бы обернул припевы и куплеты в элементы XML.
Если вы используете CDATA, я думаю, вы можете встроить разрывы строк непосредственно в XML. Пример:
<song>
<title>Song Title</title>
<lyric><![CDATA[Line 1
Line 2
Line 3]]></lyric>
</song>
В конце строк просто добавьте следующий специальный символ:
Этот специальный символ определяет символ возврата каретки.