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

如何用Python移除XML标签外的无效<、>字符?

如何用Python移除XML中不属于标签的'<'和'>'字符

问题场景

你有如下无效XML:

<tag>test ,test <adjs@gmail.com></tag>

该XML无效的原因是文本内容中包含了不属于合法标签的<和>,需要在保留原有XML标签的前提下,移除这些多余字符。

解决方案

可以通过正则表达式精准匹配标签之间的文本内容,仅对这些文本中的<和>进行移除操作,代码实现如下:

import re

# 读取XML文件内容
with open('file.xml', 'r', encoding='utf-8') as file:
    xml_content = file.read()

# 清理非标签内的<和>字符
def remove_invalid_characters(xml_text):
    # 匹配标签闭合>到下一个标签开启<之间的文本内容
    return re.sub(r'>([^<]+)<', lambda match: '>' + match.group(1).replace('<', '').replace('>', '') + '<', xml_text)

# 执行清理操作
cleaned_xml_content = remove_invalid_characters(xml_content)

# 将清理后的内容写入新文件
with open('file_cleaned.xml', 'w', encoding='utf-8') as file:
    file.write(cleaned_xml_content)

print("已移除标签内容中的无效'<', '>'字符。")

代码说明

  • 正则表达式>([^<]+)<:精准匹配两个标签之间的文本片段(即>之后、<之前的所有内容),确保只处理标签外的文本。
  • lambda替换逻辑:对匹配到的文本部分(match.group(1))移除所有<和>,再拼接回前后的标签符号,保证原有标签不受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 16:02:08