python生成xml文件

时间:2021-05-11 11:54:15

转自:http://www.2cto.com/kf/201501/372716.html
本文是一个使用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