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