我需要将4个xml文件合并为一个。它们如下。 文件1
<doc1>
....
<doc1>
文件2
<doc2>
....
<doc2>
文件3
<doc3>
....
<doc3>
文件4
<doc4>
....
<doc4>
我想要输出如下
<doc1>
....
<doc2>
....
</doc2>
<doc3>
....
</doc3>
<doc4>
....
</doc4>
</doc1>
我这样做了。
<xsl:transform version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:copy-of select="document('doc1.xml')"/>
<xsl:copy-of select="document('doc2.xml')"/>
<xsl:copy-of select="document('doc3.xml')"/>
<xsl:copy-of select="document('doc4.xml')"/>
</xsl:template>
</xsl:transform>
但我获得的输出如下
<doc1>
....
</doc1>
<doc2>
....
</doc2>
<doc3>
....
</doc3>
<doc4>
....
</doc4>
是否可以更改我的脚本并获得我想要的内容?
答案 0 :(得分:0)
此转换产生想要的结果:
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="document('doc1.xml')/*">
<xsl:copy>
<xsl:copy-of select="@*|node()"/>
<xsl:copy-of select="document('doc2.xml')"/>
<xsl:copy-of select="document('doc3.xml')"/>
<xsl:copy-of select="document('doc4.xml')"/>
</xsl:copy>
</xsl:for-each>
</xsl:template>
</xsl:transform>