python 對xml解析的示例
一、我們對XML的讀取進行一波演示
import xml.dom.minidom #負責(zé)解析xml文件的包 from xml.dom.minidom import parse #使用minidom打開xml文件 DOMTree = xml.dom.minidom.parse("D30_1_XmlNameSpace.xml") print(DOMTree)#將該XML文件定義為一個對象 #得到文檔對象 doc = DOMTree.documentElement#打印出了帶有根目錄的名字的對象 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é)點的屬性值
二、同時我們還可以使用xml.DOM.etree這種方式來進行解析
我們提供方法:
(1)以樹形結(jié)構(gòu)來表示xml;
(2)root.getiterator:得到相應(yīng)的可迭代的node集合
(3)root.iter
(4)find(node_name):查找指定node_name的節(jié)點,返回一個node
(5)root.findall(node_name):返回多個node_name的節(jié)點
(6)node.tag:node對應(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”是解析不出來的 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 如何對xml解析的詳細內(nèi)容,更多關(guān)于python 對xml解析的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python的print輸出在控制臺并且將輸出內(nèi)容保存為文件(最新推薦)
這篇文章主要介紹了python的print輸出在控制臺并且將輸出內(nèi)容保存為文件,我感覺就是類似于重寫一下調(diào)用print的時候執(zhí)行的方法,讓他既能夠在控制臺輸出,也能保存到文件里去,需要的朋友可以參考下2023-01-01關(guān)于Python3 lambda函數(shù)的深入淺出
今天小編就為大家分享一篇關(guān)于Python3 lambda函數(shù)的深入淺出,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python實現(xiàn)正整數(shù)分解質(zhì)因數(shù)操作示例
這篇文章主要介紹了Python實現(xiàn)正整數(shù)分解質(zhì)因數(shù)操作,結(jié)合實例形式分析了Python循環(huán)與遞歸兩種操作方法實現(xiàn)分解質(zhì)因數(shù)功能的相關(guān)操作技巧,需要的朋友可以參考下2018-08-08分享一枚pycharm激活碼適用所有pycharm版本我的pycharm2020.2.3激活成功
這篇文章主要分享一枚pycharm激活碼適用所有pycharm版本我的pycharm2020.2.3激活成功,需要的朋友可以參考下2020-11-11使用Python的開發(fā)框架Brownie部署以太坊智能合約
在本文中,我們將使用Python部署智能合約。這篇文章可能是您走向智能合約和區(qū)塊鏈開發(fā)的橋梁!2021-05-05