Bonjour,

j'ai un programme qui tourne actuellement en Python 2.7. Aucun problème constaté.

Afin d'anticiper, je viens de le tester en version 3.7.3. La sortie de mon fichier XML n'est plus bonne, j'obtiens cette syntaxe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
b'<?xml version="1.0" encoding="UTF-8"?>\n
Toutes les balises sont sur une seule ligne. En 2.7 pas de problème.

Voici ma fonction en python qui génère le fichier en sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
def sortie_xml(output_xml, num_modele, diffusion, ET, mode_ouverture):  
    xmlstr = minidom.parseString(ET.tostring(diffusion)).toprettyxml(indent="   ", encoding="UTF-8")
    with open(output_xml+num_modele+".xml", mode_ouverture) as f:
        f.write(str(xmlstr))
Pour avoir le même résultat qu'en 2.7, j'ai du supprimé la section "encoding="UTF-8". Mais ça ne m'arrange pas car ma première ligne XML ressemble à ça <?xml version "1.0" ?>, or j'ai besoin que l'encodage soit spécifié.

D'où vient le problème ? Minidom non compatible Python 3.7.3 ? Existe-t'il une solution ?

Merci pour vos retours.

Bonne journée.