相关疑难解决方法(0)

如何使用XSLT从XML中删除命名空间

我有150 MB(有时甚至更多)XML文件.我需要删除所有名称空间.它在Visual Basic 6.0上,所以我使用DOM来加载XML.加载是可以的,我一开始对此持怀疑态度,但不知何故,这部分工作正常.

我正在尝试以下XSLT,但它也删除了所有其他属性.我想保留所有属性和元素,我只需要删除命名空间.显然这是因为我有xsl:element但没有属性.我如何在那里包含属性?

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" omit-xml-declaration="yes" version="1.0" encoding="UTF-8" />
    <xsl:template match="*">
        <xsl:element name="{local-name()}">
            <xsl:apply-templates select="@* | node()"/>
        </xsl:element>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

xml xslt xml-namespaces

21
推荐指数
1
解决办法
5万
查看次数

标签 统计

xml ×1

xml-namespaces ×1

xslt ×1