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::LibXML petites questions


Sujet :

Modules Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Par défaut XML::LibXML petites questions
    Bonjour à tous,

    Je débute sur la gestion des fichiers XML et je voudrais avoir quelques précisions, ne trouvant pas vraiment d'explication claires.

    Language: PERL
    Module: XML::LibXML

    Soit le contenu du document xml suivant :

    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
     
     <maison id="00001">
            <chambre>1</chambre>
            <wc>2</wc>
            <mesures>
                <piece0>222</piece0>
                <piece1>444</piece1>
            </mesures>
           <com>A vendre</com>
      </maison>
     
     <maison id="00002">
            <chambre>1</chambre>
            <wc>2</wc>
            <mesures>
                <piece0>888</piece0>
                <piece1>777</piece1>
            </mesures>
           <com>A vendre</com>
      </maison>
    Ce que je voudrais pouvoir faire, c'est faire une boucle sur les Éléments "maison" et en extraire les données.
    Mon problème et que je n'arrive pas a extraire les "0mesures", a fin de récupérer "piece0" et "piece1"

    Je pense qu'il faudrait construire un tableau avec les éléments contenus dans l'élément "mesures" qui lui même est dans l élément "maison" et ensuite récupérer les valeurs.

    Sachant que je ne veux pas récupérer les valeurs de la maison suivante alors que je suis dans la boucle de la première maison..

    Merci d'avance pour vos conseils

    Cordialement,
    Benoit

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Par défaut
    j'ai trouvé une solution qui fonctionne.
    Ce n'est surement pas la plus propre mais la voici :

    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
     
     
    my @maison = $root->getElementsByTagName('maison');
     
    foreach my $childid (@maison) {
     
     my @mesures = $childid->getChildrenByTagName('mesures');
     
                foreach my $cmdid (@mesures){
     
                       foreach my $cmd  ($cmdid->getChildrenByTagName('*')){
                        my $cmdline = $cmd->getFirstChild->getData;
                        print "$cmdline \n";
                    }
                }
     
    }

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

Discussions similaires

  1. Petites questions techniques sur les XML
    Par alex77722 dans le forum IGN API Géoportail
    Réponses: 1
    Dernier message: 03/08/2012, 18h25
  2. relation entre html xml et php , petite question
    Par lol88 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2009, 20h48
  3. petite question sur l'XML
    Par DiamonDonald dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 21/02/2008, 16h49
  4. Vb et Xml petite question svp
    Par diddy95 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 04/06/2007, 15h32
  5. Petite question sur XML.
    Par i_shinji dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/06/2006, 10h26

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