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

Valider XML Discussion :

valider un fichier XML avec Python


Sujet :

Valider XML

  1. #1
    Membre confirm�
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 66
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : administrateur systemes et reseaux
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par d�faut valider un fichier XML avec Python
    bonjour,

    j'ai un fichier TEXT.XML que je voudrais transformer en un fichier utilisable par un programme.
    j'utilise les commandes Python :

    with open('/text.xml') as f:
    t = etree.parse(f)


    malheureusement mon fichier TEXT.XML comporte plusieurs lignes : <?xml version="1.0" encoding="UTF-8" ?>

    et j'ai donc des erreurs : lxml.etree.XMLSyntaxError: XML declaration allowed only at the start of the document, line 15, column 6

    comment r�soudre ce probl�me?

    merci

  2. #2
    Mod�rateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par d�faut
    Hello,

    En enlevant celles de ces lignes qui ne sont pas au d�but du fichier.
    Leur existence n'est pas tol�rable en XML. D�barrasse-t-en.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirm�
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 66
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : administrateur systemes et reseaux
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par d�faut
    je peux faire �a avec mes commandes python precedentes?

  4. #4
    Membre confirm�
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 66
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : administrateur systemes et reseaux
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par d�faut
    je suis totallement novice en XML et autres.

    comment faire pour supprimer toutes les lignes <?xml version="1.0" encoding="UTF-8" ?> dans mon fichier XML?

    comment extraire du nouveau fichier XML pr�t � l'emploi les valeurs dont j'ai besoin pour construire un autre fichier?

    Merci

  5. #5
    Mod�rateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par d�faut
    Citation Envoy� par trazomtg Voir le message
    je peux faire �a avec mes commandes python precedentes?
    Non, avec ta souris, ton clavier et ton �diteur de texte pr�f�r�. Pour ce travail-l�, laisse tomber la programmation et fais-le toi-m�me.

    Citation Envoy� par trazomtg Voir le message
    comment extraire du nouveau fichier XML pr�t � l'emploi les valeurs dont j'ai besoin pour construire un autre fichier?
    C'est une question pertinente, mais je dois dire qu'en Python je n'en sais rien.

    Cela dit, il existe probablement plusieurs mani�res de faire, et pour qu'un connaisseur Python puisse t'aider � ce sujet, il faudrait que tu pr�sentes ton fichier XML et de quoi as-tu besoin dedans.

    Je serais �galement pas surpris qu'il existe pl�thore de tutoriels � ce sujet. S'ils ne suffisent pas � t'aider il faudrait dire pourquoi.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirm�
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 66
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : administrateur systemes et reseaux
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par d�faut
    mon objectif est le suivant:

    je fais une d�couverte r�seau avec un outil qui cr�e un fichier XML
    je veux extraire de ce fichier les noms et les adresses IP des devices
    je veux �crire ces donn�es dans un fichier param�tre d'un outil de monitoring (en l'occurence Alignak)

    je ne veux donc rien faire � la main

    merci

  7. #7
    Mod�rateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par d�faut
    Je doute fort que cet outil cr�e des fichiers XML mal form�s comme ceux dont tu nous parles.
    Alors comment te retrouves-tu avec ces fichiers qui ont plusieurs d�clarations XML alors que cela est compl�tement interdit ? Tu dois te d�brouiller pour ne pas te retrouver avec ces mauvais fichiers, et n'en avoir que des bons � la place.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre confirm�
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 66
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : administrateur systemes et reseaux
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par d�faut
    voila le fichier XML que je re�ois :

    <?xml version="1.0" encoding="UTF-8" ?>
    <REQUEST>
    <CONTENT>
    <DEVICE>
    <IP>192.168.33.1</IP>
    <MAC>00:50:56:c0:00:08</MAC>
    <NETPORTVENDOR>VMware</NETPORTVENDOR>
    </DEVICE>
    <MODULEVERSION>2.3</MODULEVERSION>
    <PROCESSNUMBER>1</PROCESSNUMBER>
    </CONTENT>
    <DEVICEID>foo</DEVICEID>
    <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>
    <?xml version="1.0" encoding="UTF-8" ?>
    <REQUEST>
    <CONTENT>
    <DEVICE>
    <DNSHOSTNAME>gateway</DNSHOSTNAME>
    <IP>192.168.33.2</IP>
    <MAC>00:50:5650:d0</MAC>
    <NETPORTVENDOR>VMware</NETPORTVENDOR>
    </DEVICE>
    <MODULEVERSION>2.3</MODULEVERSION>
    <PROCESSNUMBER>1</PROCESSNUMBER>
    </CONTENT>
    <DEVICEID>foo</DEVICEID>
    <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>

    comme tu le vois il y a plusieurs lignes <?xml version
    je veux r�cup�rer ce qu'il y a en gras :

    <DNSHOSTNAME>gateway</DNSHOSTNAME>
    <IP>192.168.33.2</IP>
    <MAC>00:50xx:d0</MAC>
    <NETPORTVENDOR>VMware</NETPORTVENDOR>

    dans chaque balise <DEVICE>

    une id�e?

  9. #9
    Mod�rateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par d�faut
    Du coup c'est plut�t deux fichiers coll�s l'un apr�s l'autre. T'as pas seulement le probl�me des d�clarations XML, il y a aussi que tu as pas une racine unique... Bref c'est pas un fichier XML c'est plusieurs fichiers XML.

    Tu dis "voil� ce que je re�ois", mais tu re�ois pas �a par hasard. Quelque chose ou quelqu'un est responsable de la cr�ation de ce fichier inutilisable. Ce quelque chose doit �tre r�par�, par ce quelqu'un qui a fourni un r�sultat inutile.
    Ce que tu dois recevoir, c'est soit plusieurs fichiers corrects, soit un fichier unique qui a un format correct.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre confirm�
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 66
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : administrateur systemes et reseaux
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par d�faut
    j'ai supprim� les llignes <?xml version="1.0" encoding="UTF-8" ?> dans mon fichier fichier.xml
    quand je lancela commande :

    with open('/fichier.xml') as f:
    x = etree.parse(f)


    j'ai l'erreur :

    lxml.etree.XMLSyntaxError: Extra content at the end of the document, line 14, column 1

    je ne comprends pas!!!
    une id�e?*
    merci

  11. #11
    Mod�rateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par d�faut
    Je te l'ai d�j� dit : ton probl�me c'est que ce n'est pas un fichier XML, c'est plusieurs fichiers XML l'un � la suite de l'autre.
    �a ne va pas. Il faut corriger le bidule qui produit �a.

    Un fichier XML n'a qu'un seul �l�ment racine. Dans l'exemple que tu as donn�, si tu supprimes les lignes en question, tu te retrouves avec deux �l�ments racine <REQUEST>. Pas bon.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [DTD] valider un fichier XML avec une DTD
    Par Anubis dans le forum Format d'�change (XML, JSON...)
    R�ponses: 1
    Dernier message: 18/02/2008, 18h00
  2. Lire un fichier XML avec Python
    Par eyquem dans le forum G�n�ral Python
    R�ponses: 2
    Dernier message: 19/12/2007, 13h54
  3. 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
  4. [Xml/Xsd]valider son fichier Xml avec un sch�ma xsd
    Par ePoX dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 09/02/2006, 22h30
  5. Valider un fichier XML avec un Schema
    Par Groove dans le forum Valider
    R�ponses: 4
    Dernier message: 09/11/2005, 08h15

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