Python使用ElementTree生成XML文件的完整示例
本文介绍如何利用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编程实践有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









