88

我一直在尝试在 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>
4

14 回答 14

103

新行 XML

使用 XML

  1. 回车&#xD;
  2. 换行&#xA;

或尝试像@dj_segfault 提出的(见他的回答)与 CDATA 一样;

 <![CDATA[Tootsie roll tiramisu macaroon wafer carrot cake.                       
            Danish topping sugar plum tart bonbon caramels cake.]]>
于 2012-06-06T16:24:38.363 回答
47

这个问题的解决方案是:

<?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]]>this 可以让行中断,从而创建一个新行!

于 2013-07-31T12:09:32.437 回答
44

您不需要任何花哨的东西:以下包含一个新行(实际上是两个):

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

问题是,为什么这个换行符没有达到预期的效果:这是一个关于 XML 的接收者实际上在用它做什么的问题。例如,如果收件人正在将其翻译为 HTML,并且 HTML 正在浏览器中显示,则换行符将被浏览器转换为空格。你需要告诉我们一些关于处理管道的事情。

于 2012-06-06T22:46:49.647 回答
14

您可能使用的是 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,只有LFMac OS CR

有问题有显示Linux方式。

于 2013-10-23T13:31:16.270 回答
10

这个解决方案对我有用:

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

您将有两行文本。

这对我有用 XmlReader.Read 方法。

于 2016-04-11T07:18:04.977 回答
5

您可能需要将其放在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> 
于 2012-06-06T15:47:06.570 回答
1

不使用 CDATA,尝试

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

注意双引号和单引号。

如果您不创建 xml aka 文本,这将特别有用。<xsl:output method="text" />

于 2012-12-26T22:55:04.587 回答
1

给出换行符的最简单方法是执行以下操作:
1> 在 CSS 中添加以下内容 - e{display:block}
2> 现在,无论您想给出换行符,输入 -

<e></e>
于 2014-01-09T17:17:11.473 回答
0

在 XML 中进行换行的方法是使用&#xA;

当我设计 XML 布局并使用 TextView 时,它在 Eclipse IDE 中为我工作。

于 2014-12-02T03:16:24.567 回答
0

当我不得不开发固定长度的字段格式时遇到了同样的问题。

通常我们不会对二进制文件使用换行符,但出于某种原因,我们的客户希望在记录之间添加换行符作为分隔符。他们设置

<记录分隔符值="\n"/ >

但这不起作用,因为记录有两个额外的字符:
< record1 > \n < record2 > \n.... 等等。

做了以下改变,它就奏效了。

<record_delimiter value="\n"/> => <record_delimiter value=" "/>

解组后 Java 解释为换行符。

于 2015-08-20T20:07:31.443 回答
0

想添加我的解决方案:

&lt; br/ &gt;

这与上面建议的基本相同
在我的情况下,我不得不使用&ltfor < 和&gtfor > 简单地<br />说没有用。

于 2015-09-08T20:40:46.337 回答
-1

只需简单地按回车就可以休息一下

<![CDATA[this is
my text.]]>
于 2015-05-20T05:57:02.263 回答
-3

这可以通过 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>
于 2017-01-13T14:30:09.927 回答
-5
(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

于 2015-11-24T13:13:33.597 回答