Fhernd icon

recorrido-eficiente-xml.py

Fhernd | PRO | 07/25/18 12:50:20 PM UTC | 0 ⭐ | 3181 👁️ | Never ⏰ | []
Python |

780 B

|

None

|

0 👍

/

0 👎

from xml.etree.ElementTree import iterparse
 
def recorrer_leer(archivo, ruta):
    partes_ruta = ruta.split('/')
    documento = iterparse(archivo, ('start', 'end'))
 
    # Omite el elemento raíz:
    next(documento)
 
    etiquetas = []
    elementos = []
 
    for evento, elemento in documento:
        if evento == 'start':
            etiquetas.append(elemento.tag)
            elementos.append(elemento)
        elif evento == 'end':
            if etiquetas == partes_ruta:
                yield elemento
                elementos[-2].remove(elemento)
            try:
                etiquetas.pop()
                elementos.pop()
            except IndexError:
                pass
 
 
for elmt in recorrer_leer('potholes.xml', 'row/row'):
    print(elmt[1].text)

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎