如何使用xslt将一个xml文件的内容复制到另一个空的xml文件

时间:2018-10-01 10:58:45

标签: xml xslt

我有2个xml文件。 first.xml中包含一些元素。 second.xml文件为空,仅具有dtd声明。我想使用xslt将first.xml的所有节点复制到second.xml文件。为此,我创建了xsl文件。

    <?xml version="1.0"?>   

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:param name="file1" select="document('data/first.xml')"/>

    <xsl:template match="$file1@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="$file1/)"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

我不确定我在这里缺少什么。

first.xml看起来像这样-

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE TestConfig PUBLIC "xyz.dtd" "xyz.dtd">
<TestConfig debug="false" disable="false" name="moduletests">

  <BeforeTests>
  <Test name="Test Configuration" type="helthcheck"/>
  </BeforeTests>

  <Test name='Test with SSL'  type='helthcheck'>
   <AttributeToAdd>
       <Script>
        <Source>
        </Source>
       </Script>
   </AttributeToAdd>
   </Test>

   <Test name='My test'  type='create'/>
</TestConfig>

Second.xml文件如下所示

 <?xml version="1.0" encoding="UTF-8"?> 
    <?xml-stylesheet type="text/xsl" href="myXSL.xsl"?>     
   <!DOCTYPE TestConfig  PUBLIC"xyz.dtd" "xyz.dtd">
   <TestConfig>
   </TestConfig>

0 个答案:

没有答案