Вопрос по xml – Добавление новой строки / тега разрыва в XML [дубликаты]

62

This question already has an answer here:

How to add a newline (line break) in XML file? 2 answers

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

Я пытался до сих пор:

<br />
<br> 



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

<?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>
просто введите\n - работает для меня Rafal Iwaniak

Ваш Ответ

14   ответов
1


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

<e></e>
Error: User Rate Limit Exceeded
80

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

с XML

  1. Carriage return: &#xD;
  2. Line feed: &#xA;

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

 <![CDATA[Tootsie roll tiramisu macaroon wafer carrot cake.                       
            Danish topping sugar plum tart bonbon caramels cake.]]>
Error: User Rate Limit Exceeded]]>?
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededhere как иметь]]>Error: User Rate Limit Exceeded]]]]><![CDATA[>
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
34

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

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

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

4

Вы, вероятно, должны положить его вБлок 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> 
Error: User Rate Limit Exceeded Courtney Jordan
8

Вы, вероятно, используете 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 OSCR.

На вопрос там указали путь Linux.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Courtney Jordan
Error: User Rate Limit Exceeded
1

Не используя CDATA, попробуйте

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

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

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

0

Это можно решить с помощью атрибута 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>
1

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

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

& Lt; значение record_delimiter = & quot; \ n & quot; / & gt;

но это не сработало, поскольку записи получили два дополнительных символа:
& Lt; record1 & gt; \ n & lt; record2 & gt; \ n .... и так далее.

Сделал следующие изменения, и это просто сработало.

& Lt; значение record_delimiter = & quot; \ n & quot; / & gt; = & GT; & Lt; значение record_delimiter = & amp; #xA; / & gt;

После демонтажа Java интерпретирует  как символ новой строки.

1

Хотел добавить свое решение:

&lt; br/ &gt;

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

Error: User Rate Limit Exceeded
32

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

<?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]]> это позволяет разрывать линию, создавая новую строку!

<br />Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded<br />Error: User Rate Limit Exceeded&#x13&#x10;Error: User Rate Limit Exceeded<![CDATA]]>Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded&#x13&X10
Error: User Rate Limit Exceeded<![CDATA]]>Error: User Rate Limit Exceeded
0

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

У меня это работало в Eclipse IDE, когда я разрабатывал макет XML & amp; использовал TextView.

5

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

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

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

Это сработало для меня, используя метод XmlReader.Read.

-1

просто нажмите Enter, сделайте перерыв

<![CDATA[this is
my text.]]>
-3
(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

Error: User Rate Limit Exceeded

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