XSLT用逗号(,)连接值

时间:2010-01-04 07:32:04

标签: xslt

我需要循环遍历xml文档中的所有节点 并使用逗号(,)附加值 最后一个元素之后我不应该有commma(,)

任何人都可以帮助我。

感谢你, Ramana kumar。

3 个答案:

答案 0 :(得分:18)

您可以这样做:

<xsl:for-each select="element">
    <xsl:value-of select="whatever" />
    <xsl:if test="position() != last()">, </xsl:if>
</xsl:for-each>

position()函数返回for-each上下文中当前元素的索引,last()返回最后一个元素的索引。

XSLT文档的Conditional Processing with xsl:if部分提供了有关此示例的更多信息。

答案 1 :(得分:12)

XSLT 2.0 (或更高版本)中,您可以使用string-join function

<xsl:value-of  select="string-join(/element/whatever, ',')"/>

答案 2 :(得分:2)

XSLT 2.0 (或更高版本)中,您可以将xsl:value-of与分隔符一起使用:

<xsl:value-of select="/element/whatever" separator=","/>
  

如果存在spacer属性,则此属性的有效值用于分隔结果序列中的相邻项目