分享

几种xsl显示xml中换行的方法

 旭龙 2011-01-14

1. 首先将xml文件中的内容用CDATA显示,即:

<content>
<![CDATA[
这里有个回车<br />挖哈哈
]]>
</content>

然后在xsl中如下调用:

<xsl:value-of select="content" disable-output-escaping="yes" />

即可

此法可以显示所有的html代码,实现也较为简单

2. 如果是希望xsl显示一段含有   的文字,并将中间的换行显示出来,则可以考虑下面的方法(此方法不能转换html代码)

使用xsl写的一个方法

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www./1999/XSL/Transform">
<xsl:template name="br">
  <xsl:param name="string"/>
  <xsl:choose>
   <xsl:when test="contains($string,' ')">
    <xsl:value-of select="substring-before($string,' ')"/><br/>
    <xsl:call-template name="br">
     <xsl:with-param name="string" select="substring-after($string,' ')"/>
    </xsl:call-template>
   </xsl:when>
   <xsl:otherwise>
    <xsl:value-of select="$string"/>
   </xsl:otherwise>
  </xsl:choose>
</xsl:template>
</xsl:stylesheet>


存为brfunc.xsl

然后在xsl文件头导入此文件(必须紧接<xsl:stylesheet...>之下)

<xsl:import href="brfunc.xsl" />

在文件中需要调用时,方法

<xsl:call-template name="br">
  <xsl:with-param name="string" select="content" />
</xsl:template>

此方法较为繁琐,如果只需要转换换行符的话可以考虑

3. 基本和上面的功能差不多,但比上面一种简单得多,呵呵~~
在xsl里面:

<pre>
  <xsl:value-of select="content" />
</pre>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多