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 :

Modifier un fichier XML avec Python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    technicien
    Inscrit en
    Janvier 2022
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Janvier 2022
    Messages : 10
    Par défaut Modifier un fichier XML avec Python
    Bonjour à tous,

    je souhaiterais modifier un fichier xml et pouvoir le réutiliser.

    Je l'ouvre sous Python 2.7 en utilisant se code et je peux ainsi le modifier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    from xml.dom import minidom
    fsock = open('xxx.xml')
    xmldoc = minidom.parse(fsock) 
    fsock.close()                 
    print xmldoc.toxml()
    cependant quand je l'enregistre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    with open('xxx.xml','w') as f:
           f.write(xmldoc.toxml())

    J'ai bien mon fichier .xml mais le logiciel qui exploite ce ficher n'arrive plus à l'utiliser.

    Comment pourrais-je conserver ou retrouver l'encodage initial lors de l'enregistrement ?
    Quelqu'un aurait une idée ou ce n'est pas possible ?

    J'ai bien respecté la casse lors de la modification du fichier xml.

    D'avance merci,

    Bonne journée

    PS: je n'arrive pas à accéder au chat...

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

    Citation Envoyé par Kouider69 Voir le message
    J'ai bien mon fichier .xml mais le logiciel qui exploite ce ficher n'arrive plus à l'utiliser.
    Il faudrait déjà savoir ce quel/s est/sont le/s problème/s qui fait/font que le logiciel n'arrive plus à utiliser le fichier.

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

  3. #3
    Membre habitué
    Homme Profil pro
    technicien
    Inscrit en
    Janvier 2022
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Janvier 2022
    Messages : 10
    Par défaut
    D'abord merci de t'y être intéressé...

    il n'affiche pas les données ...

    Corrupted xml file (e.g. not matching the DTD)

    lorsque j'ouvre sur wordpad mon nouveau fichier xml on s'aperçoit qu'il n'est plus organisé de la même façon.
    même si il respecte la casse

    et si je fais l'essai sans faire aucune modification de mon fichier xml c'est le même défaut qui revient

    je passe par le cmd.exe pour enregistrer le fichier

    sauriez vous comment conserver ou retrouver l'encodage initiale?

    et obtenir les même DTD svp?

    d'avance merci

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 204
    Par défaut
    hello,
    Peux-tu nous montrer les premières lignes de ton fichier xml ? Il est complique le fichier xml ? Combien de lignes ?
    Ami calmant , J.P

  5. #5
    Membre habitué
    Homme Profil pro
    technicien
    Inscrit en
    Janvier 2022
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Janvier 2022
    Messages : 10
    Par défaut
    Merci...

    voici les premières lignes de code:

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!DOCTYPE YBOECU SYSTEM ".\dtd\yboecu.dtd" [ <?RequiredDTDVersion "2.0"?>

    il y a 470 lignes environ.

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 204
    Par défaut
    hello,
    Citation Envoyé par Kouider69 Voir le message
    Merci...

    voici les premières lignes de code:

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!DOCTYPE YBOECU SYSTEM ".\dtd\yboecu.dtd" [ <?RequiredDTDVersion "2.0"?>

    il y a 470 lignes environ.
    Ce que tu nous montres n'est pas complet où ne correspond pas au début d'un fichier xml valide (il y a un crochet ouvrant mais pas le crochet fermant. Peux-tu nous montrer l'intégralité du début du fichier (jusqu'à la première balise xml).
    Voici par exemple un fichier xml valide (plist est la première balise xml):
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!DOCTYPE YBOECU SYSTEM ".\dtd\yboecu.dtd" []>
    <plist version="1.0"> <!-- this is root -->
    <Dispatch>
    	<field name="Poste" value="Dispatch01"/>
    	<field name="Vitesse" value="30"/>
    	<field name="PTL" value="0"/>
    	<field name="IP" value="192.168.87.10"/>
    </Dispatch>
    </plist>
    Ami calmant, J.P

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

    Citation Envoyé par Kouider69 Voir le message
    sauriez vous comment conserver ou retrouver l'encodage initiale?
    Normalement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    with open('xxx.xml','w') as f:
           f.write(xmldoc.toxml(encoding='utf-8'))
    devrait suffire. Reste à voir s'il y a d'autres soucis.

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

  8. #8
    Membre habitué
    Homme Profil pro
    technicien
    Inscrit en
    Janvier 2022
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Janvier 2022
    Messages : 10
    Par défaut
    merci!

    mais oui, c'est le même souci

    c'est pas suffisant.

    J'ai essayé de le faire sans la moindre modification du fichier en l'ouvrant et en l'enregistrant sous python.

    Faudrait-il que j'utilise la version plus récente de Python?

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 718
    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 718
    Par défaut
    Citation Envoyé par Kouider69 Voir le message
    J'ai essayé de le faire sans la moindre modification du fichier en l'ouvrant et en l'enregistrant sous python.
    Quelles sont les différences dans ce cas?

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

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

Discussions similaires

  1. Lecture dun fichier xml avec python
    Par merlinerick dans le forum Interfaçage autre langage
    Réponses: 6
    Dernier message: 29/07/2009, 13h49
  2. 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
  3. Lire un fichier XML avec Python
    Par eyquem dans le forum Général Python
    Réponses: 2
    Dernier message: 19/12/2007, 13h54
  4. 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
  5. [DOM] [Débutant(e)] Modifier un fichier XML avec DOM
    Par macks dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/07/2005, 14h13

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