python生成xml文件

轉自: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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章