溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中XML解析庫有哪些

發(fā)布時間:2020-08-04 14:49:03 來源:億速云 閱讀:383 作者:清晨 欄目:編程語言

小編給大家分享一下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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI