Подтвердить что ты не робот

Добавление нового тега line/break в XML

Я пытаюсь добавить новую строку/разрыв для кода в XML и был неудачным.

Я пробовал до сих пор:

<br />
<br> 



Вот пример кода, с которым я работаю. Я включил "
", чтобы показать, где разрыв находится внутри кода.

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="dummy.xsl"?>
  <item>
     <summary>Tootsie roll tiramisu macaroon wafer carrot cake.       
               &#xA; Danish topping sugar plum tart bonbon caramels cake.
     </summary>
  </item>
4b9b3361

Ответ 1

Решение этого вопроса:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="dummy.xsl"?>
  <item>
     <summary>
        <![CDATA[Tootsie roll tiramisu macaroon wafer carrot cake. <br />      
                 Danish topping sugar plum tart bonbon caramels cake.]]>
     </summary>
  </item>

добавив <br /> внутри <![CDATA]]>, это позволяет разрыву строки, создавая таким образом новую строку!

Ответ 2

Новая строка XML

с XML

  • Возврат каретки: &#xD;
  • Линейный канал: &#xA;

или попробуйте, например, @dj_segfault (см. его ответ) с CDATA;

 <![CDATA[Tootsie roll tiramisu macaroon wafer carrot cake.                       
            Danish topping sugar plum tart bonbon caramels cake.]]>

Ответ 3

Вам не нужно ничего фантастического: следующее содержит новую строку (две, на самом деле):

<summary>Tootsie roll tiramisu macaroon wafer carrot cake.       
         Danish topping sugar plum tart bonbon caramels cake.
</summary>

Вопрос в том, почему эта новая строка не имеет желаемого эффекта и что вопрос о том, что на самом деле делает получатель XML. Например, если получатель переводит его в HTML и HTML отображается в браузере, то новая строка будет преобразована в пространство браузером. Вы должны сообщить нам что-то о конвейере обработки.

Ответ 4

Вероятно, вы используете Windows, поэтому новая строка CR + LF (возврат каретки + строка). Таким образом, решение будет:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="dummy.xsl"?>
  <item>
     <summary>Tootsie roll tiramisu macaroon wafer carrot cake.&#13;&#10;Danish topping sugar plum tart bonbon caramels cake.
     </summary>
  </item>

Для Linux существует только LF и только для Mac OS CR.

В вопросе появился путь Linux.

Ответ 5

Это решение сработало для меня:

<summary>Tootsie roll tiramisu macaroon wafer carrot cake. &#xD;Danish topping sugar plum tart bonbon caramels cake.</summary>

У вас будет текст в двух строках.

Это сработало для меня с помощью метода XmlReader.Read.

Ответ 6

Вероятно, вам нужно поместить его в блок CDATA, чтобы сохранить пробелы

<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="dummy.xsl"?>   
   <item>      
      <summary>
         <![CDATA[Tootsie roll tiramisu macaroon wafer carrot cake.                       
            Danish topping sugar plum tart bonbon caramels cake.]]>
      </summary>   
   </item> 

Ответ 7

Без использования CDATA попробуйте

<xsl:value-of select="'&#xA;'" />

Обратите внимание на двойные и одинарные кавычки.

Это особенно полезно, если вы не создаете xml ака текст. <xsl:output method="text" />

Ответ 8

Самый простой способ дать разрыв строки - сделать следующее:
1 > Добавьте в CSS следующее: e{display:block}
2 > Теперь, где бы вы ни хотели дать разрыв строки, введите -

<e></e>

Ответ 9

Имела ту же проблему, когда мне приходилось разрабатывать формат поля фиксированной длины.

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

< record_delimiter value = "\n" /" >

но это не сработало, поскольку записи получили два дополнительных символа:
< record1 > \n < запись2 > \n.... и т.д.

Произошло следующее изменение, и оно просто сработало.

< record_delimiter value = "\n" / " >= > < record_delimiter value =" & #xA; "/" >

После разметки Java интерпретирует & # xA; как новый символ линии.

Ответ 10

Требуется добавить мое решение:

&lt; br/ &gt;

который в основном такой же, как предлагалось выше
В моем случае мне пришлось использовать &lt для < и &gt для > Просто положить <br /> не получилось.

Ответ 11

Это можно легко решить с помощью атрибута CSS:

XML: <label name="pageTac"> Hello how are you doing? Thank you I'm Good</label>

CSS

.pageText{
white-space:pre !important; // this wraps the xml text.}

HTML/XSL

<tr>
        <td class="pageText"><xsl:value-of select="$Dictionary/infolabels/label[@name='pageTac']" />
            </td></tr>

Ответ 12

Способ сделать разрыв строки в XML - это использовать &#xA;

Он работал у меня в Eclipse IDE, когда я разрабатывал свой XML-макет и использовал TextView.

Ответ 13

просто нажмите клавишу enter, чтобы сделать паузу

<![CDATA[this is
my text.]]>

Ответ 14

(Using system.IO)

Вы можете просто использовать \n для новой строки и \t перед строкой для отступов.

Например, в c#:

public string theXML() {
    string xml = "";
    xml += "<Scene>\n";
    xml += "\t<Character>\n";


    xml += "\t</Character>\n";
    xml += "</Scene>\n";
    return xml;
}

Это приведет к выводу: http://prntscr.com/96dfqc