Bonjour,
J’ai créé une fonction save
qui me permet d’enregistrer au format XML un objet ElementTree.Element
. J’ai rajouté à cette fonction la possibilité d’encoder les données et de formater le XML. Seulement, mes caractères accentués apparaissent avec un �
, ce qui est un soucis d’encodage. Voici la fonction :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | from base64 import b64encode from xml.etree.cElementTree import tostring from xml.dom import minidom from zlib import compress def save(node, path="project.xml", encode=True, beautify=False): to_write = b"<?xml version='1.0' encoding='utf-8'?>\n" to_write += tostring(node.export_xml(), encoding="utf-8") if encode: to_write = b64encode(compress(to_write)).decode("utf-8") else: to_write = to_write.decode("utf-8") if beautify: to_write = minidom.parseString(to_write).toprettyxml(indent=" ") with open(path, "w") as f: f.write(to_write) |
Je précise que j’utilise Python 3.6 et que mon éditeur de code (VS Code) est bien en UTF-8.
Merci pour votre aide !
+0
-0