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

Modules Perl Discussion :

[xml/perl] quel module ?


Sujet :

Modules Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 16
    Points : 6
    Points
    6
    Par défaut [xml/perl] quel module ?
    Bonjour tout le monde,
    Voilà ma situation, je dispose de fichiers xml de ce type :

    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
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <analyse titre="Test" type="BK2" id="00">
     
        <patient nom="Test" prenom="Maquette" numero_tube="06987987" />
     
        <infos>Informations supplémentaires à ajouter ici balallllala(saisie libre)</infos>
     
        <tests>
            <test_simple type="checkbox" id="flore.anti" valeur="true">Flore microbienne absente</test_simple>
            <n />
            <n />
            <test_multi titre="Nature du prélÚvement" id="nature_prelevement" nb_elems="2">
                <test_simple type="checkbox" id="nature_prelevement.liq.ascite" valeur="false">Liq.Ascite</test_simple>
                <test_simple type="checkbox" id="nature_prelevement.l.pleural" valeur="false">L.Pleural</test_simple>
            </test_multi>
            <n />
     
            <envoyer />
        </tests>
    </analyse>
    Ensuite a partir de ce fichier et d'une feuille de style xsl je génère une page html avec un script perl. (en gros c'est une page html avec pleins de checkbox et des input de type text bien souvent, bref un formulaire bien rempli, chaque entrée du formulaire a comme attribut name la valeur de l'attribut id de mon xml).

    Une fois le html générer, et le formulaire rempli, je renvoie les infos a un autre scripts perl via le CGI, j'ai donc toutes mes infos dans une table de hachage, dont les clés sont les name des input et les valeurs, les valeurs entrées :-)

    Ce que je veux faire c'est à partir des ces données (à partir de la table de hachage), modifié le xml initial pour y placer les nouvelles informations.

    Quelqu'un peut il m'aidé sur le module a choisir qui soit simple a utiliser ? j'ai déja essayé XML::Simple, mais je n'arriverais pas a générer exactement la meme structure du xml que celui de départ.

    Merci bien.

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    XML::Twig a l'air très très bien pour ce genre de chose. (en plus son auteur est français et accessible sur la mailing list des mongueurs de Perl)
    Voici un tutorial qui te donnera une idée de la bête !

    --
    Jedaï

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    comme ce que j'ai dit dans le topic : Modules pour gérer les fichiers XML (parsing, création) (topic en page d'accueil du forum), moi j'utilise generalement XML::parser::perlSAX XML::Writer IO::File pour gerer mes XML.

    Après, chacun ses gouts

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Essaie XML::Twig, c'est vraiment une petite perle dans son domaine. En gros c'est du SAX donc très performant et peu encombrant en mémoire, sauf que tu peux manipuler des sous-arbres comme si c'était du DOM si tu le souhaites (mais en ne gardant en mémoire que les sous-arbres qui t'intéressent, sélectionné par du pseudo-xpath)... Ca donne des programmes très légers et clairs même pour faire des manips complexes !
    (Mais de toute façon TIMTOWDI)

    --
    Jedaï

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Bon merci à tous de vos réponses pour commencer.
    Donc j'ai essayé XML::Twig, et effectivement c'est pas mauvais comme truc :-), donc j'arrive à faire quelques trucs vraiment basique, mais j'ai un petit probleme (j'ai cherché rapidos dans la doc et j'ai rien trouvé), en fait quand je fais mes opérations, pour afficher le xml je dois utiliser la méthode print à chaque fois. J'aurais aimé savoir, si quand j'accede au données du xml, que je fais des opérations dessus, au lieu de les "printer", je peux pas directement modifier le fichier ?
    (Au départ je penser printer dans un fichier, mais ca m'oblige a recréer un fichier, et donc pas garder le fichier original).
    Existe il qqch dans XML::Twgi pour faire ceci ?

    Merci bien. :-)

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 427
    Points : 459
    Points
    459
    Par défaut
    modifier un fichier en son milieu c'est toujours assez compliqué à faire, à moins que le bout que tu insert fasse la meme taille que celui que tu remplace...
    C'est une limitation inérante à tous les systemes de fichiers.
    En pratique dans ce genre de cas le plus simple est toujours de recreer un autre fichier (et eventuellement virer l'ancien et renommer le nouveau à la fin).
    En plus ca permet de s'assurer que les modifs se font bien de maniere atomique.
    Recherche staigiaire(s) motivé(s) sur projet perl/reseau a grande echelle. Me contacter par mp.

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/07/2013, 08h01
  2. Diagrammes : quels modules perl ?
    Par devl83 dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 05/09/2011, 15h42
  3. Quels modules Perl pour gérer les documents XML ?
    Par djibril dans le forum Modules
    Réponses: 8
    Dernier message: 02/12/2010, 23h54
  4. quel module pour le SGBD Ingres avec Perl 5.8.8
    Par StyleXP dans le forum SGBD
    Réponses: 5
    Dernier message: 19/06/2006, 13h58
  5. [xml editeur ] quel plugin pour xml?
    Par champion dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/08/2004, 09h52

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