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)