0

我有一个 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>

它会自动被空格分隔。

但是如何获得由 * 之类的字符而不是空格分隔的值。

4

3 回答 3

1

看起来您使用的是 XSLT 2.0,并且出现了空格,因为这是“分隔符”属性的默认值。对于不同的分隔符(例如逗号),请使用

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

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

于 2011-06-20T17:06:40.223 回答
0

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

于 2011-06-20T14:25:25.943 回答
0

<xsl:apply-templates> http://www.w3schools.com/xsl/xsl_apply_templates.asp

于 2011-06-20T15:26:16.433 回答