如何从 Transformer XML 文档顶部删除 XMLNS 引用

How To Remove XMLNS reference from top of Transformer XML Document

不确定如何解决这个问题,我有一个 XML 文档 post 从 XSLT 转换而来。

需要从文档标签中删除整个文本字符串 xmlns="urn.......

如有任何帮助或建议,我们将不胜感激。

非常感谢,

您误解了需求的性质。命名空间声明将 XML 文档中的所有元素(更准确地说,范围内没有覆盖命名空间声明的所有元素)放在一个命名空间中。为了删除它,您实际上必须将所有这些元素重命名为它们的本地名称。

假设其他命名空间中没有元素(也没有需要保留的注释或处理指令),你可以这样做:

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="*">
    <xsl:element name="{local-name()}">
        <xsl:copy-of select="@*"/>
        <xsl:apply-templates/>
    </xsl:element>
</xsl:template>

</xsl:stylesheet>