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 :

Lire un fichier XML avec Python


Sujet :

Python

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut Lire un fichier XML avec Python
    Bonjour,

    J'ai voulu tester le petit code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    from xml.dom import minidom
    fsock = open('xml exemple.xml')
    xmldoc = minidom.parse(fsock) 
    fsock.close()                 
    print xmldoc.toxml()
    Le fichier xml exemple.xml est le 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
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <database name="infos">
       <table name="codeDepartement">
          <record>
             <field name="ID" type="string">01</field>
             <field name="NOM" type="string">Ain</field>
          </record>
          <record>
             <field name="ID" type="string">02</field>
             <field name="NOM" type="string">Aisne</field>
          </record>
          <record>
             <field name="ID" type="string">03</field>
             <field name="NOM" type="string">Allier</field>
          </record>
      </table>
    </database>
    L'execution me renvoie:

    Traceback (most recent call last):
    File "E:\Python\Essais Python\minidom use.py", line 3, in <module>
    xmldoc = minidom.parse(fsock)
    File "C:\Python25\lib\xml\dom\minidom.py", line 1913, in parse
    return expatbuilder.parse(file)
    File "C:\Python25\lib\xml\dom\expatbuilder.py", line 928, in parse
    result = builder.parseFile(file)
    File "C:\Python25\lib\xml\dom\expatbuilder.py", line 207, in parseFile
    parser.Parse(buffer, 0)
    ExpatError: not well-formed (invalid token): line 1, column 0
    >>>

    Je ne comprends pas.
    Qu'est-ce qui est mal forme ? Le contenu du fichier ? ( premier caractere < ?)
    L'extension du fichier ? (c'est quoi le token ?)

    Merci pour des reponses

  2. #2
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Chez moi, en changeant le nom de ton fichier en xml_exemple.xml, je n'ai aucun problème.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut Merci pour votre reponse. Mais moi pareil
    J'ai change le nom du fichier en xml_exemple.xml

    Le programme me retourne exactement le meme compte-rendu d'erreur.

    Si je rends muette la ligne
    xmldoc = minidom.parse(fsock)
    en mettant # devant,
    il n'y a plus d'erreur.
    L'erreur surgit donc a l'appel de cette ligne.

Discussions similaires

  1. pickler un fichier XML avec python
    Par Gldev_comp dans le forum Général Python
    Réponses: 1
    Dernier message: 10/07/2008, 05h31
  2. Gérer un fichier XML avec Python
    Par ffets dans le forum Général Python
    Réponses: 25
    Dernier message: 31/10/2007, 14h47
  3. Lire un fichier XML avec VBA
    Par Mouse dans le forum Général VBA
    Réponses: 1
    Dernier message: 15/06/2006, 19h56
  4. [XML] lire un fichier xml avec php
    Par java_fun dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 31/03/2006, 12h21

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