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 :
Toutes les balises sont sur une seule ligne. En 2.7 pas de problème.Code:
1
2b'<?xml version="1.0" encoding="UTF-8"?>\n
Voici ma fonction en python qui génère le fichier en sortie :
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é.Code:
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))
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.