Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用逗号(,)连接值的XSLT_Xslt - Fatal编程技术网

用逗号(,)连接值的XSLT

用逗号(,)连接值的XSLT,xslt,Xslt,我需要遍历xml文档中的所有节点 并用逗号(,)附加值 最后,在最后一个元素之后,我不应该有逗号(,) 有人能帮我吗 谢谢你, 拉马纳·库马尔。你可以这样做: <xsl:for-each select="element"> <xsl:value-of select="whatever" /> <xsl:if test="position() != last()">, </xsl:if> </xsl:for-each>

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

有人能帮我吗

谢谢你,
拉马纳·库马尔。

你可以这样做:

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

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


XSLT文档部分提供了有关此示例的更多信息。

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



在XSLT 2.0(或更高版本)中,可以使用分隔符:

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

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


我想知道,XSLT2.0是否在.net 3.5.net中得到支持。net不支持本机XSLT2.0,但Saxon是.net 2.0或更高版本的一个选项:Saxon非常慢,我建议您坚持使用XSLT1.0。@astrojuanlu:我建议您要么用可靠的引用备份未经证实的声明,要么删除您的评论。就目前而言,它对你的影响比对撒克逊人的影响更糟糕。谢谢。可能有两份
<xsl:value-of select="/element/whatever" separator=","/>