Python使用ElementTree生成XML文件的完整示例

陆遥
陆遥
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍如何利用Python标准库xml.etree.ElementTree模块创建XML文件。通过定义根节点、子节点及属性,并设置文本内容,最终写入指定文件。文中附带完整代码及在线XML处理工具推荐,适用于需要程序化生成结构化数据场景。

本文详细介绍在Python中生成XML文件的具体实现方法,供开发者参考使用。

以下示例基于ElementTree相关类库,演示如何构建并生成XML文件。

# *-* coding=utf-8
from xml.etree.ElementTree import ElementTree
from xml.etree.ElementTree import Element
from xml.etree.ElementTree import SubElement
from xml.etree.ElementTree import dump
from xml.etree.ElementTree import Comment
from xml.etree.ElementTree import tostring
import os
filename="book.xml"
def CreateXml():
  book =ElementTree()
  purOrder =Element("PurchaseOrder")
  book._setroot(purOrder)
  list = Element("account",{'idsn':'2390094'})
  purOrder.append(list)
  item = Element("item1",{"sku":"abcd","qty":"4"})
  SubElement(item,"Name").text="Potato Smasher"
  SubElement(item,"Description").text="Smash Potatoes like never before"
  purOrder.append(item)
  item = Element("item2",{"sku":"gfhi","qty":"40"})
  SubElement(item,"Name").text="Beijing"
  SubElement(item,"Description").text="My Country"
  purOrder.append(item)
  indent(purOrder)
  return book
def indent(elem,level=0):
  i ="\n"+level*"  "
  print elem;
  if len(elem):
    if not elem.text or not elem.text.strip():
      elem.text = i + "  "
    for e in elem:
      print e
      indent(e,level+1)
    if not e.tail or not e.tail.strip():
      e.tail =i
  if level and (not elem.tail or not elem.tail.strip()):
    elem.tail =i
  return elem
if __name__ == '__main__':
  book =CreateXml()
  book.write(filename,"utf-8")
  #book.write("book2.xml","utf-8",True) #true is with xml declaration

此外,推荐以下在线工具辅助XML数据处理:

在线XML与JSON格式互转工具: http://tools.jb51.net/code/xmljson

在线XML格式化与压缩工具: http://tools.jb51.net/code/xmlformat

XML在线压缩及格式化工具: http://tools.jb51.net/code/xml_format_compress

XML代码在线格式化与美化工具: http://tools.jb51.net/code/xmlcodeformat

如需了解更多Python相关知识,可参考本站专题:《Python操作xml数据技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》。

希望上述内容对您的Python编程实践有所帮助。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表