您好,登錄后才能下訂單哦!
小編給大家分享一下Python中XML解析庫有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!
untangle
untangle 是一個簡潔的用于解析 XML 文檔的庫。輸入一個 XML 文檔后,untangle 將文檔的結(jié)構(gòu)映射成結(jié)點和屬性,并返回一個 Python 對象。
形如以下的 XML 文件:
<?xml version="1.0"?> <root> <child name="child1"> </root>
可以使用以下的方法進(jìn)行加載:
import untangle obj = untangle.parse('path/to/file.xml')
加載完成后,你可以運行以下代碼獲取到 child 標(biāo)簽的 name 屬性值:
obj.root.child['name']
untangle 同時支持使用字符串的形式和 URL 的形式加載 XML 文檔。
xmltodict
xmltodict 是另一個簡潔的庫,它可以讓開發(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>
可以使用如下方法加載,從而得到一個 Python 的 dict 對象:
import xmltodict with open('path/to/file.xml') as fd: doc = xmltodict.parse(fd.read())
隨后你可以根據(jù)以下的方法訪問文檔的元素、屬性和屬性值:
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ù)字典返回一個 XML 文檔。同時, xmltodict 支持流式操作以處理不適宜加載到內(nèi)存的文件,并且支持命名空間。
以上是Python中XML解析庫有哪些的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。