【问题标题】:Add Line Break With XSLT使用 XSLT 添加换行符
【发布时间】:2016-01-06 07:23:10
【问题描述】:

我正在尝试使用我的 XSLT 在 XML 输出中添加换行符。

这就是我想要做的。

<Description>
        <xsl:value-of select=concat($var1,ADD_LINE_BREAK,$var2,ADD_LINE_BREAK,$var3)"/>
</Description>

* 我意识到 ADD_LINE_BREAK 不是正确的 XSLT 语法

xml 输出将如下所示:

<Description>

$var1

$var2

$var3

</Description>

谢谢!

更新

看起来确实有效,但我想我正在找出真正的问题。快速了解我正在做的事情。从系统中提取 XML 数据 -> 使用 XSLT 转换来处理数据 -> 将 xml 输出放入不同的系统。我认为我的问题是我将数据放入的系统不理解换行符,所以我可能需要一种方法来弄清楚如何包含 HTML 换行符,以便系统可以使用。

我试过这个没有运气

<Description>
              <xsl:value-of select="$var1"/>
              <br></br>
              <xsl:value-of select="$var2"/>
              <br></br>
              <xsl:value-of select="$var3"/>
 </Decsription>

【问题讨论】:

    标签: xslt


    【解决方案1】:

    信不信由你,取决于您的 XSLT 处理器或 XML 验证的繁琐程度,我发现这个令人尴尬的简单方法在其他所有方法(如 &amp;#xD;&amp;10; 等)都失败时(包括像&lt;br&gt;,/br&gt;这样的文字:

    <xsl:text>
    
    </xsl:text>
    

    根据您的喜好选择一行或多行。

    【讨论】:

      【解决方案2】:

      使用&amp;#xA;&amp;10; 作为换行符。

      使用&amp;#xD;&amp;13; 作为回车符。

      【讨论】:

        【解决方案3】:

        试试这样的:

        <Description>
                <xsl:value-of select="$var1" /><xsl:text>&#xa;</xsl:text>
                <xsl:value-of select="$var2" /><xsl:text>&#xa;</xsl:text>
                <xsl:value-of select="$var3" />
        </Description>
        

        这将添加一个换行符 (\n) 字符。也许您需要添加额外的 &lt;xsl:text&gt;&amp;#xa;&lt;/xsl:text&gt; 才能在所需的输出中获得额外的换行符。

        【讨论】:

        • 看起来确实有效,但我想我正在找出真正的问题。快速了解我正在做的事情。从系统中提取 XML 数据 -> 使用 XSLT 转换来处理数据 -> 将 xml 输出放入不同的系统。我认为我的问题是我将数据放入的系统不理解换行符,所以我可能需要一种方法来弄清楚如何包含 HTML 换行符,以便系统可以使用它。跨度>
        • 你的意思是&lt;br /&gt;元素?
        • 是的,但我不能将
          放入我的 XSLT,可以吗?
        • 是的,你可以。如果格式正确,可以进入输出。
        • 什么是“格式良好”?
        猜你喜欢
        • 1970-01-01
        • 2013-08-07
        • 1970-01-01
        • 2012-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多