Advertisement
Fhernd

recorrido-eficiente-xml.py

Jul 25th, 2018
2,003
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.78 KB | None | 0 0
  1. from xml.etree.ElementTree import iterparse
  2.  
  3. def recorrer_leer(archivo, ruta):
  4.     partes_ruta = ruta.split('/')
  5.     documento = iterparse(archivo, ('start', 'end'))
  6.  
  7.     # Omite el elemento raíz:
  8.     next(documento)
  9.  
  10.     etiquetas = []
  11.     elementos = []
  12.  
  13.     for evento, elemento in documento:
  14.         if evento == 'start':
  15.             etiquetas.append(elemento.tag)
  16.             elementos.append(elemento)
  17.         elif evento == 'end':
  18.             if etiquetas == partes_ruta:
  19.                 yield elemento
  20.                 elementos[-2].remove(elemento)
  21.             try:
  22.                 etiquetas.pop()
  23.                 elementos.pop()
  24.             except IndexError:
  25.                 pass
  26.  
  27.  
  28. for elmt in recorrer_leer('potholes.xml', 'row/row'):
  29.     print(elmt[1].text)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement