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

Langage Perl Discussion :

Tester l'existence d'un noeud dans un fichier xml


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2013
    Messages : 33
    Points : 17
    Points
    17
    Par défaut Tester l'existence d'un noeud dans un fichier xml
    bonjour,

    je voudrais tester si un nœud existe dans un fichier XML avec le module XML:: Twig ayant pour algorithme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    si (balise existe)
    { 
        ####
    }
     sinon 
    {
       ####
    }
    quelqu'un a une idee la dessus ?

    Merci de votre aide.

  2. #2
    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
    Bonjour,

    Montre ton XML. Et dis nous si c'est la seule action que tu veux réaliser.
    De plus, qu'as-tu fais ?

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2013
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    J'utilise le module XML::Twig pour parser deux fichiers xml.

    je vous montre une portion de chaque fichier:
    fichier1.xml
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <famille>
                  <parents>
                    <nom>Brel</nom>
                  </parents>
                  <enfants>
                       <fille>
                          <nom>Brel</nom>
                       </fille>
                  <enfants>
    </famille>

    fichier2.xml
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <famille>
                  <parents>
                    <nom>Mahouhech</nom>
                  </parents>
                </famille>
    voila mon code.pl
    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
    23
    24
     
    my @fichiers_xml = (
     
    	'fichier1.xml',
             'fichier2.xml',	
    );
     
    foreach my $fichier ( @fichiers_xml ) 
    {my $twig = new XML::Twig(
    					Twig_handlers =>{'famille'=>\&fonction,}
    							,);
     
    # creation d'un objet twig
    	$twig->parsefile($fichier);
           $Hash_twig->purge;
    }
     
     
    sub fonction
    {
       my ( $twig, $Twig_famille) = @_;
      #if (balise <enfant> exist) 
       print "yes";
    }
    j'ai simplifié mon code ,je sais pas si mon problème est bien claire pour vous

  4. #4
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sub fonction
    {
       my ( $twig, $Twig_famille) = @_;
       my $nombre_enfant = $Twig_famille->children_count('enfants');
       #if (balise <enfant> exist) 
       print "$nombre_enfant enfant(s)\n";
    }

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2013
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    Merci bien

    ça marche trés bien

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

Discussions similaires

  1. Tester existence d'un noeud dans un champ xml
    Par olibara dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 08/04/2013, 20h32
  2. Tester l'existence d'une table dans un fichier lié
    Par Stargate SG1 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/06/2009, 18h16
  3. Tester l'existence d'un noeud dans un fichier xml
    Par andromeda dans le forum C#
    Réponses: 2
    Dernier message: 07/02/2009, 09h29
  4. Récupérer les valeurs d'un noeud dans un fichier XML
    Par yosthegost dans le forum Delphi
    Réponses: 1
    Dernier message: 30/05/2006, 17h38
  5. [VB.NET] [XML] Suppression d'un noeud dans un fichier XML
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/09/2004, 11h24

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