亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python xml.etree.ElementTree遍歷xml所有節(jié)點實例詳解

 更新時間:2016年12月04日 15:28:25   投稿:lqh  
這篇文章主要介紹了python xml.etree.ElementTree遍歷xml所有節(jié)點實例詳解的相關資料,這里附有實例代碼,需要的朋友可以參考下

python xml.etree.ElementTree遍歷xml所有節(jié)點

XML文件內容:

<students> 
  <student name='劉備' sex='男' age='35'/> 
  <student name='呂布' sex='男' age='38'/> 
  <student name='貂蟬' sex='女' age='22'/> 
</students> 

代碼:



#-*- coding: UTF-8 -*-  
# 從文件中讀取數(shù)據 
import xml.etree.ElementTree as ET 
 
#全局唯一標識 
unique_id = 1 
 
#遍歷所有的節(jié)點 
def walkData(root_node, level, result_list): 
  global unique_id 
  temp_list =[unique_id, level, root_node.tag, root_node.attrib] 
  result_list.append(temp_list) 
  unique_id += 1 
   
  #遍歷每個子節(jié)點 
  children_node = root_node.getchildren() 
  if len(children_node) == 0: 
    return 
  for child in children_node: 
    walkData(child, level + 1, result_list) 
  return 
 
#獲得原始數(shù)據 
#out: 
#[ 
#  #ID, Level, Attr Map 
#  [1, 1, {'ID':1, 'Name':'test1'}], 
#  [2, 1, {'ID':1, 'Name':'test2'}], 
#] 
def getXmlData(file_name): 
  level = 1 #節(jié)點的深度從1開始 
  result_list = [] 
  root = ET.parse(file_name).getroot() 
  walkData(root, level, result_list) 
 
  return result_list 
 
if __name__ == '__main__': 
  file_name = 'test.xml' 
  R = getXmlData(file_name) 
  for x in R: 
    print x 
  pass 

輸出結果:



[1, 1, 'students', {}] 
[2, 2, 'student', {'age': '35', 'name': u'\u5218\u5907', 'sex': u'\u7537'}] 
[3, 2, 'student', {'age': '38', 'name': u'\u5415\u5e03', 'sex': u'\u7537'}] 
[4, 2, 'student', {'age': '22', 'name': u'\u8c82\u8749', 'sex': u'\u5973'}] 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • flask-SQLALchemy連接數(shù)據庫的實現(xiàn)示例

    flask-SQLALchemy連接數(shù)據庫的實現(xiàn)示例

    sqlalchemy是數(shù)據庫的orm框架,讓我們操作數(shù)據庫的時候不要再用sql語句了,本文就介紹了flask-SQLALchemy連接數(shù)據庫的實現(xiàn)示例,感興趣的可以了解一下
    2022-06-06
  • python virtualenv虛擬環(huán)境配置與使用教程詳解

    python virtualenv虛擬環(huán)境配置與使用教程詳解

    這篇文章主要介紹了python virtualenv虛擬環(huán)境配置與使用教程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • python如何設置靜態(tài)變量

    python如何設置靜態(tài)變量

    在本篇內容里小編給大家整理的是一篇關于python如何設置靜態(tài)變量的相關文章,有興趣的朋友們可以參考下。
    2020-09-09
  • Python實現(xiàn)希爾伯特變換(Hilbert transform)的示例代碼

    Python實現(xiàn)希爾伯特變換(Hilbert transform)的示例代碼

    希爾伯特變換(Hilbert transform)是一個對函數(shù)產生定義域相同的函數(shù)的線性算子,而且希爾伯特變換在信號處理中很重要,所以本文和大家分享了Python實現(xiàn)希爾伯特變換的代碼,需要的可以參考一下
    2023-04-04
  • Python如何腳本過濾文件中的注釋

    Python如何腳本過濾文件中的注釋

    在本篇文章里小編給大家分享的是關于Python腳本過濾文件中的注釋方法以及實例,需要的朋友們可以學習下。
    2020-05-05
  • python根據日期返回星期幾的方法

    python根據日期返回星期幾的方法

    這篇文章主要介紹了python根據日期返回星期幾的方法,涉及Python針對日期模塊的相關使用技巧,需要的朋友可以參考下
    2015-07-07
  • Python os模塊常用方法和屬性總結

    Python os模塊常用方法和屬性總結

    這篇文章主要介紹了Python os模塊常用方法和屬性總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 樸素貝葉斯算法的python實現(xiàn)方法

    樸素貝葉斯算法的python實現(xiàn)方法

    這篇文章主要介紹了樸素貝葉斯算法的python實現(xiàn)方法,詳細分析了樸素貝葉斯算法的特性及用途,并給出了基于python的實現(xiàn)方法,需要的朋友可以參考下
    2014-11-11
  • 小學生也能看懂的python語法之循環(huán)語句精解

    小學生也能看懂的python語法之循環(huán)語句精解

    這篇文章主要介紹了詳解Python中的條件,循環(huán)語句,包括while循環(huán)for循環(huán),循環(huán)語句是學習各個編程語言的最基本的基礎知識,需要的朋友可以參考下
    2021-09-09
  • Django進階深入理解使用類視圖和中間件示例

    Django進階深入理解使用類視圖和中間件示例

    這篇文章主要為大家介紹了Django高級指南之深入理解和使用類視圖和中間件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08

最新評論