我正在從MuleSoft生成XML文件,並生成這樣的空標籤。如何刪除此使用XSLT使用XSLT刪除命名空間
<SerialNumber xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
我用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" indent="yes"/>
<xsl:template match="*">
<xsl:element name="{local-name(.)}">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name(.)}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
<xsl:template match="@*[local-name(.)='noNamespaceSchemaLocation']"/>
</xsl:stylesheet>
其產生輸出一樣,<SerialNumber nil="true"/>
我想刪除整個命名空間和輸出應該看起來像<SerialNumber/>
如何使用XSLT實現這一目標?
在此先感謝
嗯,我們需要看到的最小輸入採樣,以瞭解其中的命名空間從何而來。 –
您的問題不清楚:「*我想刪除整個名稱空間*」'xsi:nil =「true」'是屬性,而不是名稱空間。你想刪除這個特定的屬性,或所有的屬性? - P.S.請選擇XSLT 1.0或2.0,而不是兩者。 –
我想從節點中刪除整個xmlns:xsi =「http://www.w3.org/2001/XMLSchema-instance」xsi:nil =「true」 –