如何使用XSLT处理器将外部XML复制到另一个内部?

时间:2015-02-10 16:00:08

标签: xml xslt xml-parsing

我有第一个xml file1.xml

<?xml version="1.0" encoding="utf-8"?>
<node1>
     <node2>
     </node2>
</node1>

第二个xml file2.xml

<?xml version="1.0" encoding="utf-8"?>
<node2>
    <node3>
    </node3>
</node2>

我想在XSLT处理之后得到这个:

<node1>
    <node2>
        <node3>
        </node3>
    </node2>
</node1>

为此,我使用此XSLT脚本(与file2.xml位于同一目录中):

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="node2">  
        <xsl:copy>
            <xsl:copy-of select="document('file2.xml')//node2" />
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

我使用MSXL处理器,当我执行脚本时,我有这个输出:

  

执行样式表时发生错误

     

代码:0x800c0006

     

系统错误:-2146697210。

如何获取结果xml文件?

0 个答案:

没有答案