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 :

problème lecture xml avec lxml [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Ingénieur hydrographe
    Inscrit en
    Mai 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur hydrographe

    Informations forums :
    Inscription : Mai 2017
    Messages : 8
    Par défaut problème lecture xml avec lxml
    Bonjour à tous,

    j'ai un problème avec la lecture d'un xml alors que jusque là je n'avais pas rencontré de problème.
    Je suis débutante en python donc peut être que je ne vois pas un problème évident, je me remets donc à vous.

    J'ai le fichier xml suivant (template_test.xml):

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="UTF-8"?>
    <resource>
    	<identifier>text</identifier>
    </resource>

    et j'essaye de le lire avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    from lxml import etree as ET
    parser = ET.XMLParser(remove_blank_text=True)
    tree = ET.parse(path_xml, parser)
    root = tree.getroot()
    j'obtiens l'erreur suivante:
    IOError: failed to load external entity
    Une idée?
    Merci beaucoup à vous tous
    Bonne journée
    Fichiers attachés Fichiers attachés

  2. #2
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Salut,

    Que vaut path_xml ?
    C'est une url ?

  3. #3
    Membre du Club
    Femme Profil pro
    Ingénieur hydrographe
    Inscrit en
    Mai 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur hydrographe

    Informations forums :
    Inscription : Mai 2017
    Messages : 8
    Par défaut
    Citation Envoyé par bistouille Voir le message
    Salut,

    Que vaut path_xml ?
    C'est une url ?

    path_xml est le chemin d'accès au fichier xml (template_test.xml)

  4. #4
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Je pensais vraiment que c'était spécifique à un accès d'un fichier distant.

    Donc, c'est que le chemin vers ton fichier xml n'est pas bon, je te suggère de bien vérifier cela.

  5. #5
    Membre du Club
    Femme Profil pro
    Ingénieur hydrographe
    Inscrit en
    Mai 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur hydrographe

    Informations forums :
    Inscription : Mai 2017
    Messages : 8
    Par défaut
    Citation Envoyé par bistouille Voir le message
    Je pensais vraiment que c'était spécifique à un accès d'un fichier distant.

    Donc, c'est que le chemin vers ton fichier xml n'est pas bon, je te suggère de bien vérifier cela.
    Le chemin d'accès semble bon. De ton côté, tu arrives à lire le fichier en le téléchargant?
    Merci

  6. #6
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Bah, dans ton xml, y'a quasi rien, donc c'est pas ça le problème.

    Mais j'ai testé, sait-on jamais et ça passe bien chez moi, mais ton fichier est enregistré avec le bom, et comme tu dois être sur windows, c'est peut-être ça le problème (en fait j'en ai aucune idée), enregistre ton fichier sans le bom et teste à nouveau.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 756
    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 756
    Par défaut
    Salut,

    Citation Envoyé par SeaCoco Voir le message
    j'obtiens l'erreur suivante: IOError: failed to load external entity
    Votre code est incomplet et un message d'erreur remonté par Python est généralement beaucoup plus bavard que ce qui précède. De plus, si on s'amuse à compléter votre code, on ne reproduit pas de problème excepté lorsqu'on s'amuse à faire:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    >>> s = '''<?xml version="1.0" encoding="UTF-8"?>
    ... <resource>
    ... <identifier>text</identifier>
    ... </resource>
    ... '''
    >>> from lxml import etree as ET
    >>> parser = ET.XMLParser(remove_blank_text=True)
    >>> tree = ET.parse(path_xml, parser)
    >>> tree = ET.parse(s, parser)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "src\lxml\lxml.etree.pyx", line 3427, in lxml.etree.parse (src\lxml\lxml.
    etree.c:81101)
      File "src\lxml\parser.pxi", line 1811, in lxml.etree._parseDocument (src\lxml\
    lxml.etree.c:117832)
      File "src\lxml\parser.pxi", line 1837, in lxml.etree._parseDocumentFromURL (sr
    c\lxml\lxml.etree.c:118179)
      File "src\lxml\parser.pxi", line 1741, in lxml.etree._parseDocFromFile (src\lx
    ml\lxml.etree.c:117091)
      File "src\lxml\parser.pxi", line 1138, in lxml.etree._BaseParser._parseDocFrom
    File (src\lxml\lxml.etree.c:111637)
      File "src\lxml\parser.pxi", line 595, in lxml.etree._ParserContext._handlePars
    eResultDoc (src\lxml\lxml.etree.c:105093)
      File "src\lxml\parser.pxi", line 706, in lxml.etree._handleParseResult (src\lx
    ml\lxml.etree.c:106801)
      File "src\lxml\parser.pxi", line 633, in lxml.etree._raiseParseError (src\lxml
    \lxml.etree.c:105612)
    IOError: Error reading file '<?xml version="1.0" encoding="UTF-8"?>
    <resource>
    <identifier>text</identifier>
    </resource>
    ': failed to load external entity "<?xml version="1.0" encoding="UTF-8"?>
    <resource>
    <identifier>text</identifier>
    </resource>
    "
    Mais reproduire un problème qui ressemble n'est pas reproduire le problème que vous avez vous.
    Merci de compléter code et message d'erreur.

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

  8. #8
    Membre du Club
    Femme Profil pro
    Ingénieur hydrographe
    Inscrit en
    Mai 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur hydrographe

    Informations forums :
    Inscription : Mai 2017
    Messages : 8
    Par défaut Résolu
    Bonjour, j'ai réécrit le xml à la main dans un éditeur de texte et c'est bon. Surement une problème d'encodage
    Merci beaucoup pour votre aide
    Bonne journée

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

Discussions similaires

  1. Problème lecture Artefact avec POM.XML de MAVEN
    Par lemzo84 dans le forum Maven
    Réponses: 0
    Dernier message: 07/09/2014, 19h42
  2. Problème lecture xml avec XML::SIMPLE
    Par chalu133 dans le forum Langage
    Réponses: 1
    Dernier message: 05/12/2012, 16h12
  3. Problème lecture fichier avec >>
    Par C1rcus dans le forum C++
    Réponses: 2
    Dernier message: 18/11/2007, 18h19
  4. Problème de XML avec utilisation de préfixe
    Par boris007 dans le forum Framework .NET
    Réponses: 4
    Dernier message: 29/08/2006, 15h57

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