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

XML/XSL et SOAP Discussion :

[python][DOM] alléger un fichier XML


Sujet :

XML/XSL et SOAP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 26
    Points
    26
    Par défaut [python][DOM] alléger un fichier XML
    bonjour a tous,

    voila, je debute en xml (j'utilise DOM sous python)
    et le but de mon travail est de pouvoir alléger un fichier xml en ne prenant que certaines parties du document.

    1/ j'ai choisi DOM (car SAX me semble plus utile pour de tres gros fichier et pour la lecture seulement...)mais est-ce un bon choix?

    2/ je voulais donc garder uniquement certains attributs de tous les noeud de type job_run.
    remarque : je connais seulement le nom des attributs que je veux garder, les autres peuvent changer
    voila ce que j'ai fais, mais j'ai l'impression que je me complique la vie, non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    job_run=root.getElementsByTagName('JobRun')
    for j in job_run:
        attr=j.attributes
        save=[]
        # garder seulement les attributs qui nous interessent...
        for idx in range (0,attr.length):
            a=attr.item(idx)
            if (a.name!='id' and a.name!='name' and a.name!='test' and a.name!='exemple'):
                save.append(a.name)
        #...et supprimer les autres
        for s in save:
            j.removeAttribute(c)
    si qq'un pouvais me donner son avis?

    merci d'avance et bonne journée.

    ps: le fichier n'est pas tres gros (maxi qq Mo) mais j'ai besoin que mon script soit performant!

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    déjà une première remarque, le nom de ta variable save est très mal choisi, car tu t'en sers pour stocker les attributs que tu veux retirer...

    Sinon, il y a moyen de faire un peu plus concis, en utilisant des listes en "compréhension" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    job_run=root.getElementsByTagName('JobRun')
    for j in job_run:
        attr=j.attributes
        map(elem.removeAttribute, \
            [attr.item(i).name for i in range(0,attr.length) \
             if attr.item(i).name not in ('id', 'name', 'test', 'exemple')])
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 26
    Points
    26
    Par défaut
    bonjour GrandFather et merci pour ton aide...

    c vrai que ces "list comprehensions" sont bien utiles!
    faudrait que je pense à les utiliser plus souvent! (et a comprendre vraiment leur fonctionnement! )

    bonne journée!

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

Discussions similaires

  1. Python probleme pour traitement fichier Xml avec l'API dom
    Par chenimitz dans le forum Général Python
    Réponses: 11
    Dernier message: 30/10/2007, 19h34
  2. [DOM] Générer un fichier xml
    Par zertyu333 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 26/12/2006, 12h25
  3. [DOM] Créer un fichier XML
    Par brasco06 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 27/09/2006, 15h20
  4. [DOM] Enregistrer un Document dom dans un fichier xml
    Par java_girl dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 09/09/2006, 20h38
  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