xsl字符串分隔

时间:2011-06-20 14:20:49

标签: xml string xslt separator

我有一个xml,我在其上应用xsl并转换为另一个xml。

源xml包含一个像这样重复的节点

<node>123</node>
<node>456</node>
<node>789</node>

我正在申请像这样的xsl

<Node><xsl:value-of select="MT[@N='node']/@V"/></Node>

生成的xml就像这样

<Node>123 456 789</Node>

它会自动被空格分隔。

但是如何将值分隔为某些字符,例如*而不是空格。

3 个答案:

答案 0 :(得分:1)

看起来您正在使用XSLT 2.0,并且空间正在出现,因为这是“separator”属性的默认值。对于其他分隔符(如逗号),请使用

<Node><xsl:value-of select="MT[@N='node']/@V" separator=","/></Node>

请注意,在XSLT 1.0中,此指令仅输出第一个@V属性而忽略其余属性。

答案 1 :(得分:0)

你可以在XSLT中使用foreach循环来追加每个字符串,参见:
http://www.w3schools.com/xsl/xsl_for_each.asp

答案 2 :(得分:0)