library example etree dict create python text xml-parsing elementtree

example - xml python 3



Extraer texto después de la etiqueta en ElementTree de Python (1)

Los elementos tienen un atributo de tail , así que en lugar de element.text , estás pidiendo element.tail .

>>> import lxml.etree >>> root = lxml.etree.fromstring(''''''<root><foo>bar</foo>baz</root>'''''') >>> root[0] <Element foo at 0x145a3c0> >>> root[0].tail ''baz''

O, para su ejemplo:

>>> et = lxml.etree.fromstring(''''''<item><img src="cat.jpg" /> Picture of a cat</item>'''''') >>> et.find(''img'').tail '' Picture of a cat''

Esto también funciona con ElementTree simple:

>>> import xml.etree.ElementTree >>> xml.etree.ElementTree.fromstring( ... ''''''<item><img src="cat.jpg" /> Picture of a cat</item>'''''' ... ).find(''img'').tail '' Picture of a cat''

Aquí hay una parte de XML:

<item><img src="cat.jpg" /> Picture of a cat</item>

Extraer la etiqueta es fácil. Solo haz:

et = xml.etree.ElementTree.fromstring(our_xml_string) img = et.find(''img'')

¿Pero cómo obtener el texto inmediatamente después ( Imagen de un gato )? Hacer lo siguiente devuelve una cadena en blanco:

print et.text