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

如何通过Python ElementTree移除XML声明后自动添加的换行符

解决方案

以下两种都是符合Python开发规范的实现方式,可按需选择:

方案1:直接替换生成后XML的首个换行

ET生成带声明的XML时,只会在XML声明后额外新增1个换行,因此只替换第一个匹配的换行即可,不会影响XML内部的合法换行内容:

updatedxml = ET.tostring(root, encoding="utf8", method="xml").decode().replace('\n', '', 1)

方案2:手动拼接XML声明(更稳妥)

直接关闭ET的自动生成XML声明配置,手动拼接无换行的声明头,从根源避免多余换行产生:

# 生成不带声明的XML内容
raw_xml = ET.tostring(root, encoding="utf8", method="xml", xml_declaration=False).decode()
# 手动拼接声明,无多余换行
updatedxml = "<?xml version='1.0' encoding='utf8'?>" + raw_xml

两种方案处理后的updatedxml再通过json.dumps序列化时,就不会出现XML声明后的多余\n转义字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:09:05