我有一个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>
它会自动被空格分隔。
但是如何将值分隔为某些字符,例如*而不是空格。
答案 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)
或<xsl:apply-templates>
http://www.w3schools.com/xsl/xsl_apply_templates.asp