https://foro.gambas-es.org/viewtopic.php?f=16&t=8150&p=49079#p49079
-----------------------------------
gambafeliz
Miercoles, 15 Julio 2020, 22:43

Re: Formatear Un Fichero Xml Y Reescribirlo Con El Formateo
-----------------------------------
[quote user="jguardon" post="49077"]Quizás esto pueda ayudarte, una vez hayas creado el fichero en memoria (xmlstr) 


[code linenumbers=false syntax=python]
from xml.dom import minidom

xmlstr = minidom.parseString(ET.tostring(root)).toprettyxml(indent="    ")
with open("datos.xml", "w") as f:
    f.write(xmlstr)
[/code]


Saludos[/quote]

Gracias jguardon.

Lo que pasa es que este código lo que hace es borrar mi archivo.xml, esto es lo que queda dentro:

<?xml version="1.0" ?>
<root/>

Algo no funciona o yo no se interpretar "root" el que me has puesto.

Por otra parte permiteme que os haga una nueva duda aquí. Ahora he probado desde la consola esto (y funciona muy bien):

cat /home/miusuario/Python/datos.xml | python -c 'import sys;import xml.dom.minidom;s=sys.stdin.read();print xml.dom.minidom.parseString(s).toprettyxml().encode('utf-8')' > /home/miusuario/Python/datos_tmp.xml

Pero como ya os he dicho, funciona muy bien directamente desde la consola pero no me funciona desde python, ¿que código debo escribir para que funcione, perfectamente bajo python, alguien me dice como hacerlo?.

Gracias.


