You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用XSLT移除特定Namespace?附输入XML示例

使用XSLT移除特定命名空间的解决方案

没问题,我来帮你搞定这个需求!先看你的XML结构,里面有两个命名空间:根元素GNRequest的默认命名空间http://xmlns.tom.be/cms,以及InteractionType元素上的临时命名空间asdfasd。你要移除的应该是后者对吧?

下面是专门针对这个场景写的XSLT,它会保留原有XML的结构和内容,只移除InteractionType上的特定命名空间:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:cms="http://xmlns.tom.be/cms"
                xmlns:remove="asdfasd"
                exclude-result-prefixes="remove">

  <!-- 复制所有节点和属性,除了需要处理的命名空间 -->
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

  <!-- 处理带有要移除命名空间的元素:去掉命名空间,保留元素名称和内容 -->
  <xsl:template match="remove:*">
    <xsl:element name="{local-name()}">
      <xsl:apply-templates select="@*|node()"/>
    </xsl:element>
  </xsl:template>

  <!-- 保留根元素的默认命名空间(如果不需要保留,可直接删除此模板) -->
  <xsl:template match="cms:*">
    <xsl:element name="{local-name()}" namespace="http://xmlns.tom.be/cms">
      <xsl:apply-templates select="@*|node()"/>
    </xsl:element>
  </xsl:template>

</xsl:stylesheet>

代码细节说明:

  • 开头声明了两个命名空间前缀:cms对应根元素的默认命名空间,remove对应你要移除的asdfasd命名空间,exclude-result-prefixes="remove"确保这个前缀不会出现在最终输出里。
  • 第一个模板是通用复制模板,会原样复制所有节点和属性,这是XSLT处理XML的基础逻辑,保证大部分内容不需要额外处理。
  • 第二个模板专门匹配带有remove前缀的元素(也就是原asdfasd命名空间下的元素),用local-name()获取不带命名空间的元素名,重新创建一个无命名空间的元素,再复制它的属性和内容。
  • 第三个模板确保根元素及其子元素(属于cms命名空间)保留原有的命名空间,如果你的需求是连根元素的命名空间也要移除,直接删掉这个模板就行。

转换后的输出XML:

<GNRequest xmlns="http://xmlns.tom.be/cms">
  <Input>
    <DocumentInputs>
      <DocumentInput>
        <Language>DE</Language>
        <TemplateInput>
          <MPC>
            <InteractionType>MobileProductOptionActivation</InteractionType>
            <SMdn>123456</SMdn>
          </MPC>
        </TemplateInput>
      </DocumentInput>
    </DocumentInputs>
  </Input>
</GNRequest>

你可以看到,InteractionType上的xmlns="asdfasd"已经被移除,其他结构和内容完全保持原样。如果还有其他调整需求,比如同时移除根元素的命名空间,随时说就行!

内容的提问来源于stack exchange,提问作者stans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:13:00