小編給大家分享一下Python中XML解析庫(kù)有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!

創(chuàng)新互聯(lián)是專業(yè)的交城網(wǎng)站建設(shè)公司,交城接單;提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行交城網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
untangle
untangle 是一個(gè)簡(jiǎn)潔的用于解析 XML 文檔的庫(kù)。輸入一個(gè) XML 文檔后,untangle 將文檔的結(jié)構(gòu)映射成結(jié)點(diǎn)和屬性,并返回一個(gè) Python 對(duì)象。
形如以下的 XML 文件:
<?xml version="1.0"?> <root> <child name="child1"> </root>
可以使用以下的方法進(jìn)行加載:
import untangle
obj = untangle.parse('path/to/file.xml')加載完成后,你可以運(yùn)行以下代碼獲取到 child 標(biāo)簽的 name 屬性值:
obj.root.child['name']
untangle 同時(shí)支持使用字符串的形式和 URL 的形式加載 XML 文檔。
xmltodict
xmltodict 是另一個(gè)簡(jiǎn)潔的庫(kù),它可以讓開發(fā)者能夠像操作 JSON 一樣操作 XML 文檔。
形如以下的 XML 文檔:
<mydocument has="an attribute"> <and> <many>elements</many> <many>more elements</many> </and> <plus a="complex"> element as well </plus> </mydocument>
可以使用如下方法加載,從而得到一個(gè) Python 的 dict 對(duì)象:
import xmltodict
with open('path/to/file.xml') as fd:
doc = xmltodict.parse(fd.read())隨后你可以根據(jù)以下的方法訪問(wèn)文檔的元素、屬性和屬性值:
doc['mydocument']['@has'] # == u'an attribute' doc['mydocument']['and']['many'] # == [u'elements', u'more elements'] doc['mydocument']['plus']['@a'] # == u'complex' doc['mydocument']['plus']['#text'] # == u'element as well'
xmltodict 中的 unparse 函數(shù)可以根據(jù)字典返回一個(gè) XML 文檔。同時(shí), xmltodict 支持流式操作以處理不適宜加載到內(nèi)存的文件,并且支持命名空間。
以上是Python中XML解析庫(kù)有哪些的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站標(biāo)題:Python中XML解析庫(kù)有哪些
本文URL:http://www.chinadenli.net/article4/pgdsie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站、云服務(wù)器、網(wǎng)頁(yè)設(shè)計(jì)公司、Google、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)