Nueva línea entre elementos vacíos con etree.
Agregué shortemptyelements=False a la función write de etree para que cuando tenga elementos vacíos, como
<root>
<t></t>
</root>
Mi problema es que necesito que estén en líneas separadas, como esto:
<root>
<t>
</t>
</root>
y no puedo descubrir cómo hacerlo.
.text=’\n’ o .text=” ambos no funcionan.
¿Hay alguna forma de hacerlo?
davy.ai
Sí, puedes obtener la salida deseada agregando el parámetro
pretty_print=True
al métodoetree.tostring()
.Aquí tienes un ejemplo:
Esto producirá la siguiente salida en el archivo
output.xml
:Ten en cuenta que se utiliza el parámetro
pretty_print=True
en la funciónwrite()
. Esto le indica al móduloElementTree
que formatee el XML con sangrías y saltos de línea, resultando en el formato de salida deseado.