XSL更改第一个元素的名称

时间:2013-09-13 03:30:54

标签: xml xslt xpath

如何在第一个节点之后使用XSL复制所有内容?

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

我希望输出如下:

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

干杯。

1 个答案:

答案 0 :(得分:0)

您的输入和输出不是有效的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>