Разрыв строки в XML? [дубликат]

20
задан ew89 6 June 2010 в 23:30
поделиться

5 ответов

@icktoofay был близок к CData

<myxml>
    <record>
        <![CDATA[
        Line 1 <br />
        Line 2 <br />
        Line 3 <br />
        ]]>
    </record>
</myxml>
26
ответ дан 29 November 2019 в 22:43
поделиться

В 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;
}
22
ответ дан 29 November 2019 в 22:43
поделиться
<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.

2
ответ дан 29 November 2019 в 22:43
поделиться

Если вы используете CDATA, я думаю, вы можете встроить разрывы строк непосредственно в XML. Пример:

<song>
    <title>Song Title</title>
    <lyric><![CDATA[Line 1
Line 2
Line 3]]></lyric>
</song>
1
ответ дан 29 November 2019 в 22:43
поделиться

В конце строк просто добавьте следующий специальный символ:

Этот специальный символ определяет символ возврата каретки.

7
ответ дан 29 November 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: