欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python xml.etree.ElementTree遍歷xml所有節(jié)點(diǎn)實(shí)例詳解

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

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

XML文件內(nèi)容:

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

代碼:



#-*- coding: UTF-8 -*-  
# 從文件中讀取數(shù)據(jù) 
import xml.etree.ElementTree as ET 
 
#全局唯一標(biāo)識(shí) 
unique_id = 1 
 
#遍歷所有的節(jié)點(diǎn) 
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 
   
  #遍歷每個(gè)子節(jié)點(diǎn) 
  children_node = root_node.getchildren() 
  if len(children_node) == 0: 
    return 
  for child in children_node: 
    walkData(child, level + 1, result_list) 
  return 
 
#獲得原始數(shù)據(jù) 
#out: 
#[ 
#  #ID, Level, Attr Map 
#  [1, 1, {'ID':1, 'Name':'test1'}], 
#  [2, 1, {'ID':1, 'Name':'test2'}], 
#] 
def getXmlData(file_name): 
  level = 1 #節(jié)點(diǎn)的深度從1開(kāi)始 
  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 

輸出結(jié)果:



[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'}] 

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    Python如何腳本過(guò)濾文件中的注釋

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

    python根據(jù)日期返回星期幾的方法

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

    Python os模塊常用方法和屬性總結(jié)

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

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

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

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

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

    Django進(jìn)階深入理解使用類視圖和中間件示例

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

最新評(píng)論