【问题标题】:How to add a newline (line break) in XML file?如何在 XML 文件中添加换行符(换行符)?
【发布时间】:2016-06-01 00:02:27
【问题描述】:

我有一个 XML 文件,我想在文本中换行 像这样的“示例文本 123”

Sample
Text 123

我已经尝试了所有我的意思 &#xA &#xD \n 但没有任何效果:

    <?xml version="1.0" encoding="UTF-8" ?>
    <item>
        <text>Address</text>
        <data>
            Sample &#xA; Text 123
        </data>
    </item>

【问题讨论】:

    标签: xml newline


    【解决方案1】:

    换行符(又名换行符换行符EOL)是特殊字符或标记文本行结尾的字符序列。使用的确切代码因操作系统而异:

    LF:    Unix
    CR:    Mac OS up to version 9
    CR+LF: Windows, DOS
    

    您可以将&amp;#xA; 用于换行(LF)或&amp;#xD; 用于回车(CR),当将解析的文本交给应用程序时,XML 解析器将用相应的字符替换它。这些可以手动添加,如您在示例中所示,但在需要以编程方式在字符串中添加换行符时特别方便:

    • 常用编程语言:
      • LF: "&amp;#xA;"
      • CR: "&amp;#xD;"
    • XSLT:
      • LF: &lt;xsl:text&gt;&amp;#xA;&lt;/xsl:text&gt;
      • CR: &lt;xsl:text&gt;&amp;#xD;&lt;/xsl:text&gt;

    或者,如果您想立即在 XML 中看到它,只需按字面意思输入:

    <?xml version="1.0" encoding="UTF-8" ?>
    <item>
        <text>Address</text>
        <data>
            Sample
            Text 123
        </data>
    </item>
    

    换行符仍未出现?

    请记住,应用程序如何解释文本(包括换行符)取决于它。如果您发现您的换行符被忽略,则可能是应用程序自动将由换行符分隔的文本一起运行。

    例如,HTML 浏览器将忽略换行符(并将规范化文本中的空格,以便合并多个空格)。要在 HTML 中换行,

    • 使用&lt;br/&gt;;或
    • divp 这样的元素中包装块,默认情况下会在包含的文本之后引起换行符,或者在默认情况下通常会保留空格和换行符的元素中,例如 pre;或
    • 使用 CSS 样式(例如 white-space)来控制换行渲染。

    XML 应用程序不合作?

    如果 XML 应用程序不尊重您的换行符,并且在应用程序的处理模型中工作没有帮助,另一种可能的方法是使用 CDATA 告诉 XML 解析器解析包含的文本 换行符。

    <?xml version="1.0" encoding="UTF-8" ?>
    <item>
        <text>Address</text>
        <data>
            <![CDATA[Sample
                     Text 123]]>
        </data>
    </item>
    

    或者,如果 HTML 标记在下游被识别:

    <?xml version="1.0" encoding="UTF-8" ?>
    <item>
        <text>Address</text>
        <data>
            <![CDATA[Sample <br/>
                     Text 123]]>
        </data>
    </item>
    

    这是否有帮助将取决于 XML 通过的 XML 处理管道中一个或多个阶段的应用程序定义语义。

    底线

    换行(又名换行行尾EOL)可以添加很多像 XML 中的任何字符一样,但要注意

    • 不同的操作系统约定
    • 不同的 XML 应用程序语义

    【讨论】:

    • 我也试过了,但是网页上的文字还是一行
    • 答案已更新。看到 换行符仍未显示?
    • 这些都不起作用。它可能应该有。带有 Excel 的 XML 1.0
    • @ScottShaw-Smith:这将更多地是关于 Excel,而不是关于 XML。试试search,或者如果这些线索都没有帮助,可以问一个新的 Excel 特定问题。
    猜你喜欢
    • 1970-01-01
    • 2012-08-02
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多