我的源XML: -
<wireframe:xaIDExclusion>
<widget:xaID id="12"/>
<widget:xaID id="121"/>
<widget:xaID id="123"/>
<widget:xaID id="124"/>
<widget:xaID id="3456"/>
</wireframe:xaIDExclusion>
这是我试过的
<xsl:template match="widget:xaID">
<xsl:element name="xaid">
<xsl:variable name ="value" select="@id"></xsl:variable>
<xsl:value-of select="concat($value,',')"></xsl:value-of>
</xsl:element>
</xsl:template>
我需要像这样的输出,怎么做
12,121,123,124,3456
提前致谢
答案 0 :(得分:0)
您的方法存在的问题是您匹配widget:xaID
,然后创建xaid
元素;这导致多个xaid
元素,每个widget:xaID
一个元素。当您处于xaid
的父级的上下文中时,您需要创建widget:xaID
元素。
尝试(未经测试,因为您没有提供格式良好的XML):
<xsl:template match="wireframe:xaIDExclusion">
<xaid>
<xsl:for-each select="widget:xaID">
<xsl:value-of select="@id">
<xsl:if test="position()!=last()">, </xsl:if>
</xsl:for-each>
</xaid>
</xsl:template>