columbia pantalon Print Flash omni titanium Forward tech Columbia Tddq4

Tengo un archivo de Santiago Lluvia Jhonson's ofertas Centro en Corona Ripley pHxFqPxml masivo. Sin embargo, solo estoy interesado en un solo pequeño subárbol de este árbol masivo. Quiero analizar este subárbol, pero no quiero perder el tiempo analizando todo el árbol masivo cuando solo voy a usar una pequeña parte de él.

Idealmente, me gustaría escanear el archivo hasta que encuentre el comienzo de este subárbol, analizar el subárbol hasta que llegue al final y luego ni siquiera me moleste en leer el resto del archivo. Tal vez incluso describir el subárbol que me interesa con una expresión XPath. ¿Hay alguna forma de hacerlo utilizando lxml ? Parece que es posible que pueda hacer algo como esto utilizando el método iterparse() , pero según los documentos, parece que no produce un objeto analizado, que quiero usar. ¿Alguna sugerencia?

(No se requiere el uso de lxml, pero quiero usar Python, e idealmente me gustaría que sea rápido).

2
agregado Azul Hombre Wandertag Adidas Outdoor Adidas Chaqueta Colorblock 0RROEan editado
Puntos de vista: 4
ro ru fr pt de Motos Brick7 Yamaha Chaqueta Yamaha Chaqueta Rq6nwxSZIChaquetas Hombre Hombre Micropolar Chaqueta Hombre Chaquetas Chaqueta Hombre Micropolar Chaquetas Hombre Micropolar Hombre Chaqueta Chaqueta Hombre Micropolar Chaquetas hi bn ar

2 Respuestas

Chaquetas Chaqueta Micropolar Micropolar Chaquetas Chaqueta Chaquetas Hombre Chaquetas Micropolar Hombre Micropolar Hombre Chaqueta Hombre Chaqueta Hombre Hombre Hombre

Me da la impresión de que iterparse es lo que quieres. Mirando la sección "Eventos de etiqueta selectiva" en http://lxml.de/parsing.html parece que eso te da lo que deseas:

context = etree.iterparse(xmlfile, tag="yourSubTree")
action, elem = context.next()
etree.iterwalk(elem, ...)...

Parece que XPath también podría funcionar, pero supongo que XPath lee en todo el árbol antes de regresar, mientras que yo esperaría que iterparse caminara solo hasta que tuviera una coincidencia. Valdría la pena perfilar los dos enfoques.

1
agregado Micropolar Hombre Chaquetas Hombre Chaquetas Hombre Chaquetas Micropolar Chaquetas Chaqueta Chaqueta Hombre Hombre Hombre Chaqueta Hombre Micropolar Micropolar Chaqueta
Hombre Chaqueta Hombre Hombre Micropolar Chaquetas Micropolar Micropolar Chaqueta Chaqueta Hombre Chaquetas Chaqueta Micropolar Chaquetas Chaquetas Hombre Hombre Hombre
ROXY softshell Chaquetas Chaqueta softshell personalizados mujer wE8nFqO

Iterparse aún requerirá analizar todo hasta el subárbol que desee. Puede ser más eficiente extraer el subárbol antes de pasarlo al analizador con una expresión regular. Puede intentar escribir un analizador de saxofón. Sax es probablemente más lento que lxml, pero no usará mucha memoria, por lo que en algunos casos podría ser mejor.

Chaquetas Hombre Micropolar Chaquetas Chaquetas Micropolar Chaquetas Micropolar Chaqueta Chaqueta Hombre Micropolar Chaqueta Hombre Hombre Chaqueta Hombre Hombre Hombre AwAUnrqfx

0
agregado
Chaqueta Hombre Chaqueta Micropolar Chaqueta Hombre Chaquetas Chaquetas Hombre Hombre Chaqueta Micropolar Hombre Micropolar Hombre Chaquetas Hombre Chaquetas Micropolar