我試圖重新命名以下XML重命名根標籤只使用XSLT
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://ws.apache.org/ns/synapse">
<aaa>
<bbb>
<ccc>123</ccc>
<ggg>2010.2</ggg>
</bbb>
</aaa>
<ddd>
<eee>112</eee>
<fff>234</fff>
</ddd>
<ddd>
<eee>456</eee>
<fff>345</fff>
</ddd>
</root>
我試圖使用XSLT以得到下面的XML根標籤。
<?xml version="1.0" encoding="UTF-8"?>
<zzz xmlns="http://ws.apache.org/ns/synapse">
<aaa>
<bbb>
<ccc>123</ccc>
<ggg>2010.2</ggg>
</bbb>
</aaa>
<ddd>
<eee>112</eee>
<fff>234</fff>
</ddd>
<ddd>
<eee>456</eee>
<fff>345</fff>
</ddd>
</zzz>
我試着用下面的XSLT獲得上面的xml。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="root">
<zzz>
<xsl:apply-templates select="@* | node()" />
</zzz>
</xsl:template>
</xsl:stylesheet>
並返回類似於輸入的相同響應。
但是,如果根標籤沒有名稱空間,則此xslt將返回預期的響應。
有人可以幫我。
你的問題不明確。名稱空間是名稱的一部分;如果要重命名根元素,則必須指定新名稱應使用的名稱空間(如果有)。在下面的評論中,「動態」也不清楚你的意思。 –