python 對(duì)xml解析的示例
一、我們對(duì)XML的讀取進(jìn)行一波演示
import xml.dom.minidom #負(fù)責(zé)解析xml文件的包 from xml.dom.minidom import parse #使用minidom打開xml文件 DOMTree = xml.dom.minidom.parse("D30_1_XmlNameSpace.xml") print(DOMTree)#將該XML文件定義為一個(gè)對(duì)象 #得到文檔對(duì)象 doc = DOMTree.documentElement#打印出了帶有根目錄的名字的對(duì)象 print(doc) #顯示子元素 for ele in doc.childNodes: if ele.nodeName == "student:Name": print("=======Node:{0}=======".format(ele.nodeName)) print(doc.childNodes) if ele.nodeName == "Age": print(ele.getAttribute("jio"))#獲取某一節(jié)點(diǎn)的屬性值
二、同時(shí)我們還可以使用xml.DOM.etree這種方式來(lái)進(jìn)行解析
我們提供方法:
(1)以樹形結(jié)構(gòu)來(lái)表示xml;
(2)root.getiterator:得到相應(yīng)的可迭代的node集合
(3)root.iter
(4)find(node_name):查找指定node_name的節(jié)點(diǎn),返回一個(gè)node
(5)root.findall(node_name):返回多個(gè)node_name的節(jié)點(diǎn)
(6)node.tag:node對(duì)應(yīng)的tagename
(7)node.text:node的文本值
(8)node.attrib:是node的屬性的字典類型的內(nèi)容
mport xml.etree.ElementTree root = xml.etree.ElementTree.parse("D30_1_XmlNameSpace.xml") nodes = root.getiterator() for node in nodes: print("{0}---{1}".format(node.tag,node.text)) print("===========================================") ele_room_name = root.find("Location") print(type(ele_room_name)) print("{0}----{1}".format(ele_room_name.tag,ele_room_name.text)) print("===========================================") ele_room_name2 = root.findall("{http://my_room}Name")#這里如果使用“room:Name”是解析不出來(lái)的 print(ele_room_name2) for ele in ele_room_name2: print("{0}----{1}".format(ele.tag,ele.text)) ele_room_name2 = root.findall("room:Name") print(ele_room_name2) for ele in ele_room_name2: print("{0}----{1}".format(ele.tag,ele.text))
三、源碼
D30_2_XmlAnalysis.py
https://github.com/ruigege66/Python_learning/blob/master/D30_2_XmlAnalysis.py
以上就是python 如何對(duì)xml解析的詳細(xì)內(nèi)容,更多關(guān)于python 對(duì)xml解析的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python如何使用ElementTree解析xml
- Python 解析xml文件的示例
- Python利用命名空間解析XML文檔
- python讀取xml文件方法解析
- Python 解析簡(jiǎn)單的XML數(shù)據(jù)
- Python如何對(duì)XML 解析
- python解析xml文件方式(解析、更新、寫入)
- python實(shí)現(xiàn)XML解析的方法解析
- Python大數(shù)據(jù)之使用lxml庫(kù)解析html網(wǎng)頁(yè)文件示例
- Python3使用xml.dom.minidom和xml.etree模塊兒解析xml文件封裝函數(shù)的方法
- python解析xml簡(jiǎn)單示例
相關(guān)文章
python實(shí)現(xiàn)網(wǎng)站的模擬登錄
這篇文章主要介紹了python實(shí)現(xiàn)網(wǎng)站的模擬登錄的相關(guān)資料,通過(guò)自己構(gòu)造post數(shù)據(jù)來(lái)用Python實(shí)現(xiàn)登錄過(guò)程,需要的朋友可以參考下2016-01-01python的print輸出在控制臺(tái)并且將輸出內(nèi)容保存為文件(最新推薦)
這篇文章主要介紹了python的print輸出在控制臺(tái)并且將輸出內(nèi)容保存為文件,我感覺就是類似于重寫一下調(diào)用print的時(shí)候執(zhí)行的方法,讓他既能夠在控制臺(tái)輸出,也能保存到文件里去,需要的朋友可以參考下2023-01-01關(guān)于Python3 lambda函數(shù)的深入淺出
今天小編就為大家分享一篇關(guān)于Python3 lambda函數(shù)的深入淺出,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Python實(shí)現(xiàn)正整數(shù)分解質(zhì)因數(shù)操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)正整數(shù)分解質(zhì)因數(shù)操作,結(jié)合實(shí)例形式分析了Python循環(huán)與遞歸兩種操作方法實(shí)現(xiàn)分解質(zhì)因數(shù)功能的相關(guān)操作技巧,需要的朋友可以參考下2018-08-08Python實(shí)現(xiàn)批量提取Word中的表格
表格在word文檔中常見的文檔元素之一,操作word文件時(shí)有時(shí)需要提取文件中多個(gè)表格的內(nèi)容到一個(gè)新的文件,本文給大家分享兩種批量提取文檔中表格的兩種方法,希望對(duì)大家有所幫助2024-02-02分享一枚pycharm激活碼適用所有pycharm版本我的pycharm2020.2.3激活成功
這篇文章主要分享一枚pycharm激活碼適用所有pycharm版本我的pycharm2020.2.3激活成功,需要的朋友可以參考下2020-11-11M1芯片安裝python3.9.1的實(shí)現(xiàn)
這篇文章主要介紹了M1芯片安裝python3.9.1的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02使用Python的開發(fā)框架Brownie部署以太坊智能合約
在本文中,我們將使用Python部署智能合約。這篇文章可能是您走向智能合約和區(qū)塊鏈開發(fā)的橋梁!2021-05-05