淺談Python大神都是這樣處理XML文件的
最近有同學(xué)詢問(wèn)如何利用Python處理xml文件,特此整理一個(gè)比較簡(jiǎn)潔的操作手冊(cè),供大家參閱。
首先準(zhǔn)備一個(gè)xml文件,xml中的內(nèi)容如下所示。存儲(chǔ)為:student.xml

如果要獲取這個(gè)xml里面的數(shù)據(jù),我們需要利用Python里面ElementTree來(lái)進(jìn)行處理。
具體操作如下所示:
1、導(dǎo)入包(包是Python內(nèi)置自帶)

2、打開(kāi)文件,并獲取根節(jié)點(diǎn)的屬性和節(jié)點(diǎn)名稱

運(yùn)行代碼后,結(jié)果如下所示:

3、利用find方法獲取子節(jié)點(diǎn)(缺點(diǎn):只能根據(jù)提供的名稱獲取第一個(gè)子節(jié)點(diǎn))

運(yùn)行結(jié)果如下所示:

4、利用findall方法獲取所有子節(jié)點(diǎn),返回的節(jié)點(diǎn)會(huì)存在一個(gè)列表里面

運(yùn)行的結(jié)果如下所示:運(yùn)行的結(jié)果如下所示:

5、利用findall方法獲取所有三級(jí)子節(jié)點(diǎn),返回的節(jié)點(diǎn)會(huì)存在一個(gè)列表里面

運(yùn)行結(jié)果如下所示:

6、利用遍歷的方法去直接遍歷子節(jié)點(diǎn)里面的所有元素

運(yùn)行結(jié)果如下所示:

至此我們的xml的處理已經(jīng)完全結(jié)束啦!
給大家留下一個(gè)練習(xí)題: 有一個(gè)xml的文件。內(nèi)容如下,保存為:UILibrary.xml


針對(duì)上述xml文件,要求如下:
◆ 寫(xiě)一XmlUtil類
里面寫(xiě)一個(gè)函數(shù):get_page
傳遞一個(gè)參數(shù)file_path
實(shí)現(xiàn)元素的讀取,返回列表形式的數(shù)據(jù),并且列表里面存儲(chǔ)每個(gè)page節(jié)點(diǎn)的信息;
◆ 寫(xiě)一個(gè)page類
有2個(gè)屬性:page_key_word,
存儲(chǔ)頁(yè)面信息;uiElement存儲(chǔ)列表數(shù)據(jù)
◆ 寫(xiě)一個(gè)UiElement類
有1個(gè)屬性:存儲(chǔ)列表類型的數(shù)據(jù),把每一個(gè)信息作為列表里面的一個(gè)數(shù)據(jù)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python?slack桌面自動(dòng)化開(kāi)發(fā)工具
這篇文章主要為大家介紹了python?slack桌面自動(dòng)化開(kāi)發(fā)工具使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
使用Python實(shí)現(xiàn)遺傳算法的完整代碼
這篇文章主要介紹了使用Python實(shí)現(xiàn)遺傳算法,其本質(zhì)是一種高效、并行、全局搜索的方法,自適應(yīng)的控制搜索過(guò)程以求得最優(yōu)解,需要的朋友可以參考下2023-03-03
Python線程中對(duì)join方法的運(yùn)用的教程
這篇文章主要介紹了Python線程中對(duì)join方法的運(yùn)用,join方法是阻塞線程的基本方法,需要的朋友可以參考下2015-04-04
Python實(shí)現(xiàn)獲取磁盤(pán)剩余空間的2種方法
這篇文章主要介紹了Python實(shí)現(xiàn)獲取磁盤(pán)剩余空間的2種方法,結(jié)合具體實(shí)例形式分析了Python操作計(jì)算機(jī)硬件的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-06-06
Python數(shù)據(jù)可視化之Matplotlib和Seaborn的使用教程詳解
這篇文章主要為大家詳細(xì)介紹了Python數(shù)據(jù)可視化中Matplotlib和Seaborn使用的相關(guān)教程,文中的示例代碼講解詳細(xì),有需要的可以參考下2024-03-03
python實(shí)現(xiàn)讀取excel寫(xiě)入mysql的小工具詳解
EXCEL 和 MySQL 大體上來(lái)說(shuō)都可以算是"數(shù)據(jù)庫(kù)",MySQL貌似有EXCEL的接口,但是最近在自學(xué)Python,用Python實(shí)現(xiàn)了一下,下面這篇文章主要給大家介紹了關(guān)于利用python實(shí)現(xiàn)讀取excel寫(xiě)入mysql的一個(gè)小工具,需要的朋友可以參考下。2017-11-11
scrapy框架中用ssh連接遠(yuǎn)程服務(wù)器的實(shí)現(xiàn)
本文主要介紹了scrapy?框架中用ssh連接遠(yuǎn)程服務(wù)器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Python實(shí)現(xiàn)圖形用戶界面和游戲開(kāi)發(fā)的方法和技巧
GUI圖形用戶界面編程,我們可以通過(guò)python提供的豐富的組件,快速的實(shí)現(xiàn)使用圖形的界面和用戶交互, GUI編程類似于“搭積?”,將?個(gè)個(gè)組件(Widget)放到窗?中,這篇文章主要給大家介紹了基于Python的GUI圖形用戶界面編程的相關(guān)資料,需要的朋友可以參考下2023-05-05

