我的XML看起来像:
<PAYUSW2R>
<G_EMPLOYEE1>
..
.
</G_EMPLOYEE1>
</PAYUSW2R>
<PAYUSW2R>
<G_EMPLOYEE2>
..
.
</G_EMPLOYEE2>
</PAYUSW2R>
我希望将其作为格式良好的XML,如下所示:
<PAYUSW2R>
<G_EMPLOYEE1>
..
.
</G_EMPLOYEE1>
<G_EMPLOYEE2>
..
.
</G_EMPLOYEE2>
</PAYUSW2R>
基本上我想删除额外的根标签&lt; PAYUSW2R&gt;。 我们可以使用XSLT实现这一目标吗?请在这里提供一些帮助。
答案 0 :(得分:0)
由于对XSLT的XML输入需要格式良好,因此您必须首先将您的实例包装在临时根元素中。如何执行此操作取决于您如何运行XSLT。它可以像将新的开始/结束标记与现有XML连接一样简单。
你最终应该得到的是:
<temp>
<PAYUSW2R>
<G_EMPLOYEE1>
..
.
</G_EMPLOYEE1>
</PAYUSW2R>
<PAYUSW2R>
<G_EMPLOYEE2>
..
.
</G_EMPLOYEE2>
</PAYUSW2R>
</temp>
然后你的XSLT看起来像这样:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/*">
<xsl:apply-templates select="*[1]"/>
</xsl:template>
<xsl:template match="/*/*[1]">
<xsl:copy>
<xsl:copy-of select="@*|node()|following-sibling::*/*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
这将导致输出:
<PAYUSW2R>
<G_EMPLOYEE1>
..
.
</G_EMPLOYEE1>
<G_EMPLOYEE2>
..
.
</G_EMPLOYEE2>
</PAYUSW2R>