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

Interfaçage autre langage Python Discussion :

Génération de fichier xml


Sujet :

Interfaçage autre langage Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 88
    Points : 55
    Points
    55
    Par défaut Génération de fichier xml
    Bonjour,

    je suis a l'heure actuelle en train de monter en compétence sur python et j'ai besoin de générer des fichiers XML.

    J'utilise pour ceci le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    from xml.dom import minidom
    import codecs
    xml = minidom.Document()
    speechMacrosElement = xml.createElement('speechMaccros')
    commentElement = xml.createElement('command')
    listenFor = xml.createElement('listenFor')
    xlisten = xml.createTextNode("tata")
    listenFor.appendChild(xlisten)
    speak = xml.createElement('speak')
    xspeak = xml.createTextNode("toto")
    speak.appendChild(xspeak)
    commentElement.appendChild(listeFor)
    commentElement.appendChild(listenFor)
    commentElement.appendChild(speak)
    speechMacrosElement.appendChild(commentElement)
    outFile=codecs.open('D:\\xmlout.xml','w','UTF-16')
    speechMacrosElement.writexml(outfile,'','UTF-16','\n')
    outfile.close()
    et voici se que cela me retourne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <speechMaccros>
    UTF-16<command>
    UTF-16UTF-16<listenFor>
    UTF-16UTF-16UTF-16tata
    UTF-16UTF-16</listenFor>
    UTF-16UTF-16<speak>
    UTF-16UTF-16UTF-16toto
    UTF-16UTF-16</speak>
    UTF-16</command>
    </speechMaccros>
    J'avoue avoir suivi plus ou moins des instruction trouvé ici et là. Mais je n'obtien pas ce que je souhaite.

    Le résultat idéal pour moi serai quelque chose de cette forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-16"?>
    <speechMacros>
      <command>
        <listenFor>tata</listenFor>
        <speak>listen tata</speak>
      </command>
    </speechMacros>
    Je bloque c'est pourquoi je fait appel a votre aide pour me donner une piste que je n'aurais peut être pas exploiter.

    Merci.

  2. #2
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,

    A deux-trois détails près, ton code marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    from xml.dom import minidom
    import codecs
    xml = minidom.Document()
    speechMacrosElement = xml.createElement('speechMaccros')
    commentElement = xml.createElement('command')
    listenFor = xml.createElement('listenFor')
    xlisten = xml.createTextNode("tata")
    listenFor.appendChild(xlisten)
    speak = xml.createElement('speak')
    xspeak = xml.createTextNode("toto")
    speak.appendChild(xspeak)
    commentElement.appendChild(listenFor)
    commentElement.appendChild(listenFor)
    commentElement.appendChild(speak)
    speechMacrosElement.appendChild(commentElement)
    fname = 'xmlout.xml'
    outfile=codecs.open(fname, 'w')
    speechMacrosElement.writexml(outfile)
    outfile.close()
    print open(fname).read(-1)
    A+

    Pfeuh

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 88
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/01/2008, 14h47
  2. génération de fichier XML
    Par cmoibal dans le forum C
    Réponses: 0
    Dernier message: 16/11/2007, 11h12
  3. [1.1] Ajout de DTD dans la génération de fichier XML
    Par shadowninja dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/01/2007, 10h33
  4. pb de génération de fichier xml
    Par peppena dans le forum Langage
    Réponses: 5
    Dernier message: 03/07/2006, 09h56
  5. [DOM] Génération dynamique fichier xml
    Par Fabouney dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/10/2005, 09h45

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