python 6-4 如何构建xml文档使用标准库中的xml.etree.ElementTree 构建ElementTree,使用write方法写入文档

来源:互联网 发布:红色法拉利 知乎 编辑:程序博客网 时间:2024/05/22 17:04

python 6-4 如何构建xml文档使用标准库中的xml.etree.ElementTree 构建ElementTree,使用write方法写入文档
root=minidom.Document()

”’

6-4 如何构建xml文档
使用标准库中的xml.etree.ElementTree 构建ElementTree,使用write方法写入文档

”’

from xml.dom.minidom import parsefrom xml.dom import minidomfrom xml.etree.ElementTree import Element,ElementTree,tostringe=Element('Data')e.set('name','abc')e.text="123"print tostring(e)e2=Element("Row") e3=Element("Open")e3.text='8.80'e2.append(e3)print tostring(e2)e.append(e2)e.text=Noneprint tostring(e)et=ElementTree(e)et.write("test.xml")import csvdef csvToXml(fname):    with open(fname,'rb') as fr:        reader=csv.reader(fr)        headers=reader.next()        root=Element('Data')        for row in reader:            eRow=Element('Row')            root.append(eRow)            for tag,text in zip(headers,row):                e=Element(str(tag).replace(" ", "_"))                e.text=text                eRow.append(e)    pretty(root)    return ElementTree(root)def pretty(e,level=0):    if len(e) >0:        e.text='\n' + '\t'*(level+1)        for child in e:            pretty(child,level+1)        child.tail=child.tail[:-1]    e.tail='\n' + '\t'*levelet=csvToXml('pingan.csv')et.write("pingan.xml")def createXmlFromCsv():    root=minidom.Document()    dataElement=root.createElement("Data")    with open("pingan.csv") as fr:        reader=csv.reader(fr)        headers=reader.next()        for row in reader:            rowElement=root.createElement("Row")            for tag,text in zip(headers,row):                item=root.createElement(tag)                item.appendChild(root.createTextNode(text))                rowElement.appendChild(item)            dataElement.appendChild(rowElement)    return root.appendChild(dataElement)print "test...."with open("pingan3.xml","wb") as log:    log.write(createXmlFromCsv().toprettyxml())log.close()
0 0