1

4 つの xml ファイルを 1 つに結合する必要があります。以下のようなものです。 資料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>

スクリプトを変更して、必要なものを取得することはできますか?

4

1 に答える 1

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>
于 2012-07-06T04:06:15.823 に答える