我想从其他xml数据中复制和更改数据。我除了正常的两个输入xml文件外还有一个额外的xml文件。我想将这个xml文件的全部内容嵌入到我的输出xml中,然后更改它的某些方面。我已经设法通过将整个文件复制到正确的区域来实现这一点(感谢这篇文章here):
<test>
<xsl:copy-of select="document('filename.xml')/*"/>
</test>
问题是,我想更改文件名中的一些数据,但我不知道如何完成这项工作。也许沿着这条路线的东西?
<xsl:template match="document('filename.xml')/root/elemntToBeChanged">
<xsl:apply-templates select="Test/changeItToThis"/>
答案 0 :(得分:0)
试试这个, XSLT 2.0:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
</xsl:template>
<xsl:template match="root"><!--Input document's root element -->
<xsl:copy><xsl:apply-templates select="*|document('External-Doc.xml')"/></xsl:copy><!--Extrenal document called here -->
</xsl:template>
</xsl:stylesheet>