¿Obtener todos los nodos de un nombre particular en lxml?
Frecuentes
Visto 4,303 veces
3
Estoy encontrando la curva de aprendizaje inicial un poco empinada con lxml, solo tareas comunes como capturar nodos por nombre, atributo y obtener su contenido. Aquí hay una pregunta muy simple.
Tengo un archivo XML. Me gustaría encontrar todos los nodos XML llamados <Review>
. ¿Cómo puedo hacer esto de manera más eficiente con lxml?
f = open('./test.xml')
xml = f.read()
tree = etree.parse(StringIO(xml))
context = etree.iterparse(StringIO(xml))
# How to get all the tags with the name <Review>
reviews = tree.findall('Review') # Something like this?
No sé si debería usar objectify, xpath...
Los comentarios también son bienvenidos sobre la forma en que leo el archivo y lo convierto en un objeto lxml analizable. Gracias.
1 Respuestas
6
Consulte las documentación:
tree = etree.parse(open('./test.xml'))
reviews = tree.findall(".//Review")
contestado el 22 de mayo de 12 a las 21:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas python xml lxml or haz tu propia pregunta.
Gracias. Estaba un poco perdido en medio de todas las diferentes opciones de lxml. - hilo dental