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

如何用Python xml.etree.ElementTree添加XML子元素且不输出到控制台

解决方案

要解决这个问题很简单——你只需要去掉用于调试的ET.dump(),改用tree.write()把修改后的XML保存到文件即可。

原代码里的ET.dump()本来就是官方文档明确标注的仅用于调试的工具,作用是把XML结构打印到控制台,和添加子元素的核心逻辑完全无关。你之前能成功添加元素,是因为ET.SubElement()已经完成了向root节点插入子元素的操作,dump()只是额外的打印步骤而已。

修改后的完整代码

import xml.etree.ElementTree as ET

# 解析目标XML文件
tree = ET.parse('myfile.XML')
root = tree.getroot()

# 添加新的VPN子元素(这部分逻辑完全保留)
vpn = ET.SubElement(root, 'VPN', attrib={'A': 'VPN1', 'B':'0','C': '0.0001', 'D': '0', 'E': '%'})

# 将修改后的XML树写入文件(默认覆盖原文件)
tree.write('myfile.XML')

额外细节说明

  • 如果不想覆盖原文件,只需给tree.write()指定新文件名即可,比如:tree.write('updated_myfile.XML')
  • 默认的tree.write()输出的XML是紧凑格式(无缩进),如果需要带缩进的美观格式,标准库的xml.etree.ElementTree没有原生支持,你可以自己实现缩进逻辑,或者使用第三方库lxml(若项目允许引入)。但仅完成添加元素并保存的基础需求时,默认的write()就足够用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 03:34:59