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

如何通过正则表达式移除XML根节点属性?

移除XML根节点所有属性的正则及字符串处理方案

正则匹配思路

核心是精准匹配根节点的起始标签,跳过所有属性内容,替换为仅保留标签名的纯净起始标签。对应的正则表达式为:
r'<(\w+)\s+.*?>'

  • (\w+):捕获根节点的标签名(如示例中的root)
  • \s+.*?:非贪婪匹配标签名后的所有空白字符及属性内容,避免误匹配后续标签

具体实现(Python示例)

import re

# 原始XML内容
original_xml = '<root xmlns="http://schemas.abc.com/ess/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" abcId="sip:+14184400781@ims.mnc510.mcc302.3gppnetwork.org"><tag1>a</tag1><tag2>b</tag2><tag3>c</tag3></root>'
# 执行正则替换
processed_xml = re.sub(r'<(\w+)\s+.*?>', r'<\1>', original_xml)

print(processed_xml)

输出结果

<root><tag1>a</tag1><tag2>b</tag2><tag3>c</tag3></root>

注意事项

  • 该正则仅适配标签名由字母、数字、下划线组成的根节点,若标签包含特殊字符,需调整正则的捕获规则
  • 正则处理XML存在局限性(比如属性值中包含>的极端场景),复杂XML场景更推荐使用专业解析库(如Python的xml.etree.ElementTree)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:01:03