2012-12-01 61 views
0

我试图用逗号作为分隔符使用下面的语句来连接字符串:使用xslt从XML连接字符串。

<xsl:call-template name="textNormal"> 
          <xsl:with-param name="text"> 
           <xsl:for-each select="/customer/orders/orderNo"> 
            <xsl:value-of select="."/> 
            , 
           </xsl:for-each> 
          </xsl:with-param> 
         </xsl:call-template> 

上述作品,但输出出来,如下图所示:

213321,123,12312312312,3123123124123432,3142341341432, 

我怎样才能改变这样在连接字符串的末尾没有尾随逗号?

感谢

+0

检查这个类似的问题:http://stackoverflow.com/questions/ 1738832/xsl-for-each-how-to-detect-last-node – koopajah

+0

对不起,我忘了提及。以上是针对Xslt v1.0的具体说明 - 谢谢 – ziggy

+0

在我链接的线程中也有XSLT 1.0的答案 – koopajah

回答

1

基于从https://stackoverflow.com/a/1738918/1606729的答案,你想为XSLT 1.0将是这样的事实:

<xsl:call-template name="textNormal"> 
    <xsl:with-param name="text"> 
     <xsl:for-each select="/customer/orders/orderNo"> 
      <xsl:value-of select="."/> 
      <xsl:when test="position() != last()" />,</xsl:when> 
     </xsl:for-each> 
    </xsl:with-param> 
</xsl:call-template> 
+0

我必须多加关注。 - 谢谢。 – ziggy