You need to enable JavaScript to run this app. Python中如何将解析后的Element类型XML变量myxml导出为XML文件
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将解析后的Element类型XML变量myxml导出为XML文件

XML根对象导出本地文件实现方案

核心问题定位:你通过fromstring方法拿到的myxml是XML根节点(Element类型),本身不具备文件写出能力,直接调用写出方法会触发属性报错,需要先完成对象封装再执行导出。

具体实现步骤

  • 补充导入依赖
    原有导入语句缺少文件写出所需的类,需要补全导入:
    from xml.etree.ElementTree import XML, fromstring, ElementTree, indent
    
  • 封装可操作文件的Tree对象
    把已有的根节点myxml传入ElementTree构造器,拿到具备文件操作能力的Tree实例:
    # 原有XML字符串转节点的逻辑保持不变
    myxml = fromstring(xmlcontents)
    # 封装为标准ElementTree对象
    tree = ElementTree(myxml)
    
  • 导出为本地XML文件
    调用Tree实例的write方法,搭配常用参数避免中文乱码、缺失XML声明的问题:
    tree.write(
        file="result.xml", # 替换为你实际需要的存储路径
        encoding="utf-8",
        xml_declaration=True # 自动在文件头生成标准XML声明
    )
    
  • 可选优化:格式化文件缩进
    如果使用Python3.9及以上版本,可以在写出前给节点增加标准缩进,避免导出的XML全部挤在单行不方便阅读:
    # 给所有节点增加2个空格的缩进
    indent(myxml, space="  ", level=0)
    

常见注意点

  • 禁止直接对myxml根节点对象调用write方法,该方法仅存在于封装后的ElementTree实例上
  • 指定编码为utf-8时,尽量同步把xml_declaration设为True,避免读取文件时出现编码识别异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 13:06:06