回覆列表
  • 1 # 小小猿愛嘻嘻

    這裡介紹2種python解析xml檔案的方式,一種基於SAX事件驅動的方式,一種基於DOM樹的方式,下面我大概介紹一下過程,實驗環境win10+python3.6+pycharm5.0,主要內容如下:

    為了會更好的說明問題,這裡我新建了一個test.xml檔案,主要內容如下,很簡單:

    1.SAX解析xml:SAX是一種快速的解析xml檔案方式,在解析xml檔案時,不會佔用大量記憶體,透過觸發一個個事件來呼叫使用者的回撥函式處理xml檔案,測試程式碼如下,主要是繼承ContentHandler類,並對startElement,endElement,characters這3個方法重寫:

    程式執行截圖如下,已經成功解析出xml檔案資訊:

    2.DOM解析xml檔案:這種方式比較簡單,好理解,在記憶體中將xml檔案解析成一個樹,透過對樹的解析來操作xml檔案,缺點是佔用記憶體,速度慢,測試程式碼如下,按著xml檔案結構解析就行:

    程式執行截圖如下,已經成功解析出xml檔案:

    至此,我們就完成了利用python來解析xml檔案。總的來說,整個過程很簡單,就是基於SAX和DOM這2種方式,只要你有一定的python基礎,多加練習,很快就能掌握的,網上也有相關資料和教程,感興趣的可以搜一下,希望以上分享的內容能對你有所幫助吧。

  • 2 # Bean蠶豆

    個人接觸過ElementTree,就簡單介紹一下這個包。ElementTree是python中常用處理xml檔案的類。

    引用方法

    import xml.etree.ElementTree as ET

    解析XML

    讀取xml

    import xml.etree.ElementTree as ET

    tree = ET.parse(filename)

    root = tree.getroot()

    root = ET.fromstring(string)

    檢視tag和attribute

    root.tag

    root.attrib

    for child in root:

    print child.tag,child.attrib

    使用下標訪問

    root[i].tag

    使用tag名稱訪問

    Element.iter()

    Element.findall()

    Element.find()

    支援xpath,xpath是xml語言中語法結構, 解析起來就更加直觀化。

  • 中秋節和大豐收的關聯?
  • 如何評價電視劇《紅高粱》以及周迅在裡邊的表演?