Я застрял с незначительными изменениями для XSLT, потому что я хотел бы заменить верхний корневой узел другим именем.Я попытался с помощью XSLT ниже добавить новый корень, но не смог удалить начальный корень входного XML.Может кто-нибудь, пожалуйста, дайте мне знать, что мне здесь не хватает.Спасибо.
Ниже приведен пробный код XSLT.
<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:template match="root">
<ns:NewParent xmlns:ns="http://test.com/user">
<xsl:copy-of select="." />
</ns:NewParent>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
Входной XML:
<root>
<root>
<a>TestA</a>
<b>Testb</b>
<c>Testc</c>
</root>
<root>
<a>TestA1</a>
<b>Testb1</b>
<l>Testl1</l>
</root>
<root>
<a>TestA12</a>
<b>Testb12</b>
<l>Testl2</l>
</root>
</root>
Выходной / требуемый XML:
<ns:NewParent xmlns:ns="http://test.com/user">
<root>
<a>TestA</a>
<b>Testb</b>
<c>Testc</c>
</root>
<root>
<a>TestA1</a>
<b>Testb1</b>
<l>Testl1</l>
</root>
<root>
<a>TestA12</a>
<b>Testb12</b>
<l>Testl2</l>
</root>
</ns:NewParent>