python里遍历筛选xml文件_python xml.etree.ElementTree遍历xml所有节点实例详解
python xml.etree.ElementTree遍歷xml所有節點
XML文件內容:
代碼:
#-*- coding: UTF-8 -*-
# 從文件中讀取數據
import xml.etree.ElementTree as ET
#全局唯一標識
unique_id = 1
#遍歷所有的節點
def walkData(root_node,level,result_list):
global unique_id
temp_list =[unique_id,root_node.tag,root_node.attrib]
result_list.append(temp_list)
unique_id += 1
#遍歷每個子節點
children_node = root_node.getchildren()
if len(children_node) == 0:
return
for child in children_node:
walkData(child,level + 1,result_list)
return
#獲得原始數據
#out:
#[
# #ID,Level,Attr Map
# [1,1,{'ID':1,'Name':'test1'}],# [2,'Name':'test2'}],#]
def getXmlData(file_name):
level = 1 #節點的深度從1開始
result_list = []
root = ET.parse(file_name).getroot()
walkData(root,result_list)
return result_list
if __name__ == '__main__':
file_name = 'test.xml'
R = getXmlData(file_name)
for x in R:
print x
pass
輸出結果:
[1,'students',{}]
[2,2,'student',{'age': '35','name': u'\u5218\u5907','sex': u'\u7537'}]
[3,{'age': '38','name': u'\u5415\u5e03','sex': u'\u7537'}]
[4,{'age': '22','name': u'\u8c82\u8749','sex': u'\u5973'}]
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
總結
以上是生活随笔為你收集整理的python里遍历筛选xml文件_python xml.etree.ElementTree遍历xml所有节点实例详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kali 更新源_KALI Linux更
- 下一篇: left join 临时表_图解SQL的