我需要循环遍历xml文档中的所有节点 并使用逗号(,)附加值 最后一个元素之后我不应该有commma(,)
任何人都可以帮助我。
感谢你, Ramana kumar。
答案 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属性,则此属性的有效值用于分隔结果序列中的相邻项目