Python如何生成xml文件
用python內(nèi)置的xml.dom可以對(duì)xml文件進(jìn)行解析處理。
什么是xml?
XML 指可擴(kuò)展標(biāo)記語(yǔ)言(EXtensible Markup Language)
XML 是一種標(biāo)記語(yǔ)言,很類似 HTML
XML 的設(shè)計(jì)宗旨是傳輸數(shù)據(jù),而非顯示數(shù)據(jù)
XML 被設(shè)計(jì)為具有自我描述性。
XML 是 W3C 的推薦標(biāo)準(zhǔn)
xml.dom具體操作實(shí)例:
本例通過(guò)xml模塊對(duì)xml文件進(jìn)行寫(xiě)入操作
from xml.dom.minidom import Documentdoc = Document()people = doc.createElement('people')doc.appendChild(people)aperson = doc.createElement('person')people.appendChild(aperson)name = doc.createElement('name')aperson.appendChild(name)personname = doc.createTextNode('Annie')name.appendChild(personname)filename = 'people.xml'f = open(filename, 'w')f.write(doc.toprettyxml(indent=' '))f.close()
內(nèi)容擴(kuò)展:
XML文件解析
python解析XML常見(jiàn)的有三種方法:
一是xml.dom.*模塊,它是W3C DOM API的實(shí)現(xiàn),若需要處理DOM API則該模塊很適合;
二是xml.sax.*模塊,它是SAX API的實(shí)現(xiàn),這個(gè)模塊犧牲了便捷性來(lái)?yè)Q取速度和內(nèi)存占用,SAX是一個(gè)基于事件的API,這就意味著它可以“在空中”處理龐大數(shù)量的的文檔,不用完全加載進(jìn)內(nèi)存;
三是xml.etree.ElementTree模塊(簡(jiǎn)稱 ET),它提供了輕量級(jí)的Python式的API,相對(duì)于DOM來(lái)說(shuō)ET 快了很多,而且有很多令人愉悅的API可以使用,相對(duì)于SAX來(lái)說(shuō)ET的ET.iterparse也提供了 “在空中” 的處理方式,沒(méi)有必要加載整個(gè)文檔到內(nèi)存,ET的性能的平均值和SAX差不多,但是API的效率更高一點(diǎn)而且使用起來(lái)很方便。
到此這篇關(guān)于Python如何生成xml文件的文章就介紹到這了,更多相關(guān)Python生成xml文件方法內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. JavaScript實(shí)現(xiàn)簡(jiǎn)單的彈窗效果2. Java commons-httpclient如果實(shí)現(xiàn)get及post請(qǐng)求3. javascript實(shí)現(xiàn)貪吃蛇小練習(xí)4. 我所理解的JavaScript中的this指向5. Vue 實(shí)現(xiàn)對(duì)quill-editor組件中的工具欄添加title6. PHP驗(yàn)證碼工具-Securimage7. PHP單件模式和命令鏈模式的基礎(chǔ)知識(shí)8. 一文帶你徹底理解Java序列化和反序列化9. PHP利用curl發(fā)送HTTP請(qǐng)求的實(shí)例代碼10. js實(shí)現(xiàn)碰撞檢測(cè)

網(wǎng)公網(wǎng)安備