IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Sortie xml avec minidom


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 90
    Par défaut Sortie xml avec minidom
    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.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par lasnico37 Voir le message
    D'où vient le problème ? Minidom non compatible Python 3.7.3 ? Existe-t'il une solution ?
    Une chaîne de caractères (Unicode) encodée utf-8 (ou autre) devient une suite de bytes. Donc à priori, il n'y a pas de problème (juste peut être une question de compréhension du passage à Python3 côté str(ings), bytes,...).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Génération XML avec path de sortie avec accents
    Par Taitongue dans le forum EDI et Outils pour Java
    Réponses: 0
    Dernier message: 02/12/2016, 11h45
  2. Problème avec sortie XML
    Par nounouuuuu201186 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 02/11/2011, 22h18
  3. comment créer une sortie XML avec log4net
    Par dalilnet dans le forum Langages
    Réponses: 3
    Dernier message: 05/07/2011, 13h27
  4. parser un XML avec DOM minidom
    Par BlackBear dans le forum Général Python
    Réponses: 4
    Dernier message: 19/08/2010, 21h47
  5. generer xsl depuis xml avec balises inconues ?
    Par cedre dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 24/06/2003, 09h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo