我有一个像这样的XML(真正的XML要复杂得多,我已将其简化以显示实际问题):
<record>
<abstract>this is abstract information</abstract>
<author>Vardenis Pavardenis</autor>
<author>Steeve Jobs</autor>
</record>
我需要将抽象和作者信息组合到一个节点中,然后用

分隔它们,结果如下:
<record>
<description>this is abstract information`
`Author: Vardenis Pavardenis`
`Author: Steeve Jobs</description>
</record>
问题是,作者和抽象节点的数量是未知的,可能根本没有作者或没有描述节点。我该怎么办?
答案 0 :(得分:0)
您可以使用<xsl:for-each>
循环遍历<description>
的所有子元素,无论其中有多少元素,并将值组合起来:
<xsl:template match="record">
<record>
<description>
<xsl:for-each select="*">
<xsl:if test="self::author">Author : </xsl:if>
<xsl:value-of select="."/>
<xsl:if test="position() < last()">
</xsl:if>
</xsl:for-each>
</description>
</record>
</xsl:template>
<强> xsltransform demo
强>