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]: module XML::smart


Sujet :

Modules Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Par défaut [XML]: module XML::smart
    Bonjour,
    Je suis nouveau sur ce forum.
    Depuis qq jours, je me casse les dents sur une fonction "path" du module XML:Smart. Je cherche à récupérer le chemin d'un contenu sous ce format-là "/people/personne[1]/nom". Mais je n'arrive pas à utiliser la fonction "path".
    Pour être un peu plus précis,
    dans mon fichier xml de contact, je cherche un nom pour cela je filtre depuis le hanlder "char_handler". Une fois que le nom est trouvé, je souhaite connaître le chemin.
    Pourrriez-vous me dire comment je pourrais faire pour récupérer le chemin avec la fonction "path" ou d'une autre manière?

    Merci bp

    Nino

  2. #2
    Expert confirmé
    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
    Par défaut
    Je suppose qu'on parle du handler "on_char" ? Dans ce cas le second argument étant un pointeur, vous pouvez appeler la méthode path() sur lui, non ?
    Qu'avez vous essayé qui ne marche pas ?

    --
    Jedaï

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Par défaut
    Oui tout à fait "on_char",

    programme principal:

    [...]
    $p = new XML::Smart('peoplexml.xml',
    on_start => \&start_handler,
    on_end => \&end_handler,
    on_char => \&char_handler
    );
    [..]

    fonction:
    sub char_handler
    {
    my ($tag , $pointer , $pointer_back , $content) = @_;

    if($$content eq 'LE YHUELIC')
    { print STDOUT "je l'ai trouvé ==> $$content\n";}
    $result=$p->path($pointer) ;
    print STDOUT "result=$result\n";
    } # End char_handler

    quand j'exécute le script, le terminal m'affiche ce msg:
    "Can't call method "path" on an undefined value at line [..]" --> $result=$p->path($pointer) ;

    Je souhaiterais connaître le path afin d'utiliser son noeud pour aller lire l'age de la personne trouvée.

    <people>
    <personne>
    <nom>BRIN</nom>
    <prenom>Nicolas</prenom>
    <age>30ans</age>
    </personne>
    <personne>
    <nom>LE YHUELIC</nom>
    <prenom>Solenn</prenom>
    <age>29ans</age>
    </personne>
    </people>


    Si vous avez une idée...
    Merci.
    Nicolas

Discussions similaires

  1. elle dépôt je peux trouvé ce module "XML-Entities"
    Par arnaudperfect dans le forum Modules
    Réponses: 0
    Dernier message: 13/11/2008, 14h43
  2. [XML] Module opensearch mozilla
    Par franck.automaticien dans le forum Firefox
    Réponses: 20
    Dernier message: 06/11/2008, 14h23
  3. pb d'ajout du module XML-Writer
    Par peppena dans le forum Modules
    Réponses: 4
    Dernier message: 04/05/2006, 18h10
  4. [DOM XML] Modules xml/xslt indisponibles ?
    Par m@t dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 26/02/2006, 19h26

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