1. 程式人生 > >python使用ElementTree解析XML檔案

python使用ElementTree解析XML檔案

  • 將XML網頁儲存到本地
    要載入XML檔案,首先應該將網頁上的資訊提取出來,儲存為本地XML檔案。抓取網頁資訊可以使用python的urllib模組。方法是:先將網頁開啟,並都去上面的內容,然後在本地建立檔案來,以寫模式開啟該檔案,將網頁資訊寫入檔案中,儲存在本地。程式碼如下:
    from urllib import urlopen
    url = "http://********/**"
    resp = urlopen(url).read()
    f = open('檔案儲存路徑', 'w')
    f.write(resp)
    f.close()
  • 解析XML檔案
    python有許多可以用來解析XML檔案的函式,在這裡介紹ElementTree(簡稱ET).它提供了輕量級的python式的API。實現邏輯簡單,解析效率高。利用ET解析XML檔案的方法是:先找出父級標籤,然後再一級一級迴圈找出所需要的子標籤。程式碼入下:
    import xml.etree.cElementTree as ET
    tree = ET.parse("***.xml")  #載入xml檔案
    root = tree.getroot()  #得到第二級標籤
    for child_of_root in root[1]:#root[1]為第二級標籤中的第二個子標籤 
        for child1 in child_of_root[7]: #原理同上
            for child2 in child1:
                print child2.tag, child2.attrib
, child2.text for child3 in child_of_root[8]: for child4 in child3: print child4.tag, child4.attrib, child4.text

  • 在上述程式碼中,child_of_root[7]表示在該級標籤中的第八個子標籤,在for child2 in child1中是遍歷child1的所有子標籤,打印出子標籤的名稱、屬性和文字。這樣就可以將XML檔案解析完成,得到我們想要的資訊。