0

XSL を使用して最初のノード以降のすべてをコピーするにはどうすればよいですか?

<ExternalRequest>
<ApplicationData></ApplicationData>
<ApplicationData></ApplicationData>
<ExternalRequest>

出力を次のようにしたい:

<ApplicationDataBatch>
<ApplicationData></ApplicationData>
<ApplicationData></ApplicationData>
<ApplicationDataBatch>

乾杯。

4

1 に答える 1

1

入力と出力は有効な XML ではありませんが、最後のタグを終了タグに変更したと仮定すると、これは機能するはずです。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>

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

  <xsl:template match="/*">
    <ApplicationDataBatch>
      <xsl:apply-templates select="@* | node()" />
    </ApplicationDataBatch>
  </xsl:template>
</xsl:stylesheet>
于 2013-09-13T04:05:34.853 に答える