答CSDN网友:用XSL对字符串进行分割和抽取 

2008/5/10 0:48:55


阅读全文(6221) | 回复(1) | 编辑 | 精华

问题: 字符串:abc ¦def ¦ghi ¦jkl ¦mno 用XSL对字符串进行分割 需要支持手动得到数组的第N个 类似ASP中的Split("abc ¦def ¦ghi ¦jkl ¦mno", " ¦")(N) 这里的N是不确定的,但不会大于数组的数量   答复: test.xml:<?xml version="1.0" ?><?xml-stylesheet type="text/xsl" href="test.xsl" ?><root> <str>abc|def|ghi|jkl|mno</str></root> test.xsl:<?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:variable name="pos" select="3"/><!--可以通过代码如JScript来动态设置select的值--> <xsl:template match="/"> <xsl:call-template name="temp">  <xsl:with-param name="str" select="."/>  <xsl:with-param name="cnt" select="1"/> </xsl:call-template></xsl:template> <xsl:template name="temp"> <xsl:param name="str"/> <xsl:param name="cnt"/> <xsl:choose>  <xsl:when test="contains($str,'|')">   <xsl:if test="$cnt = $pos">    <xsl:value-of select="substring-before($str,'|')"/>   </xsl:if>   <xsl:call-template name="temp">    <xsl:with-param name="str" select="substring-after($str,'|')"/>    <xsl:with-param name="cnt" select="$cnt + 1"/>   </xsl:call-template>  </xsl:when>  <xsl:otherwise>   <xsl:if test="$cnt = $pos"><xsl:value-of select="$str"/></xsl:if>  </xsl:otherwise> </xsl:choose></xsl:template> </xsl:stylesheet>结果: ghi

Qr

Posted by Qr on 2008/5/10 0:48:55

回复:答CSDN网友:用XSL对字符串进行分割和抽取

2008/5/10 15:06:59


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

烟雨朦胧

Posted by 烟雨朦胧 on 2008/5/10 15:06:59

» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)
站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.094 second(s), page refreshed 144750029 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号