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

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.w3.org/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>
原创文章如转载,请注明转载自 NextCool [ http://www.nextcool.cn ]
本文地址:http://www.nextcool.cn/article.asp?id=168
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: XML
评论: 0 | 引用: 0 | 查看次数: 2813
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 验证码
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 开启