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

Python脚本实现XML标签间空白字符去除求助

去除XML标签间空白字符的Python方案

嘿,刚接触Python就开始处理XML啦,这有两个实用的方法帮你搞定标签间空白字符的问题~

方法一:正则表达式(简单直接,适合规整XML)

如果你的XML结构比较简单(像你给出的例子这样没有复杂属性或嵌套),用正则表达式可以快速解决:

import re

original_xml = "<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>"
# 匹配两个标签之间的所有空白字符(空格、换行、制表符等)
cleaned_xml = re.sub(r'>\s+<', '><', original_xml)
print(cleaned_xml)

这个正则表达式>\s+<会精准定位到>和<之间的所有空白(\s+表示一个或多个空白字符),然后替换成><,既去掉了标签间的空白,又不会影响标签内部的文本内容(比如<TEXT>里的空格会完整保留)。

方法二:XML解析库(健壮可靠,适合复杂场景)

如果之后你要处理的XML变得更复杂(比如包含属性、CDATA段或者多层嵌套),正则就容易出问题了,这时候用Python标准库的xml.etree.ElementTree更稳妥:

import xml.etree.ElementTree as ET

original_xml = "<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>"

# 解析XML字符串
root = ET.fromstring(original_xml)
# 生成无空白的XML字符串,encoding='unicode'确保输出是字符串而非字节
cleaned_xml = ET.tostring(root, encoding='unicode', method='xml')
print(cleaned_xml)

ElementTree会正确解析XML的结构,重新生成时自动去掉标签间的空白,完全不用担心破坏XML的语法,是处理XML的标准做法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:37:33