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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Conditionnel sur des variables XML


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club Avatar de Hightuxdotnet
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 48
    Points
    48
    Par défaut [SimpleXML] Conditionnel sur des variables XML
    Bonjour à tous,

    Je recherche une solution pour récupérer des données sur ce fichier xml:
    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
    25
    26
    <infos>
    −
    <membre>
    <pseudo>nico</pseudo>
    <age>23</age>
    <departement>78</departement>
    <ville>Marly le roi</ville>
    <mail>contact@nbonnici.info</mail>
    </membre>
    −
    <membre>
    <pseudo>foo</pseudo>
    <age>25</age>
    <departement>75018</departement>
    <ville>Paris</ville>
    <mail>foo@foo.fr</mail>
    </membre>
    −
    <membre>
    <pseudo>fool</pseudo>
    <age>45</age>
    <departement>78160</departement>
    <ville>Marly le roi</ville>
    <mail>fool@foo.fr</mail>
    </membre>
    </infos>
    Je voudrais récupérer des donnés sous condition avec une instruction de ce type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if
    ((String)$xml->infos->membre->pseudo == $array['name'])
     { 
    echo (String)$xml->infos->membre->age;
     } 
    else { 
    echo 'donnees non disponible...'; 
    }
    Cependant je n'obtiens que l'instruction du else... Ou se trouve mon erreur?

    Merci de votre aide.

    Nicolas

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Si infos est l'élément racine, alors il n'a pas à figurer dans le "chemin" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $xml->infos->membre->pseudo

    Même chose pour les autres.

  3. #3
    Membre du Club Avatar de Hightuxdotnet
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 48
    Points
    48
    Par défaut
    Merci de ton aide, cependant la valeur en retour est un array et m'oblige donc à préciser la variable que je désire.

    Pour solutionner mon probléme, j'ai enfermé chaque membre de mon fichier xml et ses variable dans une balise <membre>.

    Ensuite j'ai utiliser Xpath comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $info0 = $xml->xpath(sprintf("membre[pseudo='%s']", $array['name'])); if($info0) { echo $info0[0]->age; } else { ....
    Voila si ca peut aider quelqu'un...

    Nico

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

Discussions similaires

  1. [XSL] Opération sur des valeurs XML grâce à Javascript
    Par kimar dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 26/06/2007, 13h57
  2. [SimpleXML] requête sur un fichier xml
    Par ANISSS dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 03/05/2007, 10h21
  3. Réponses: 2
    Dernier message: 11/10/2006, 12h21
  4. Requete sur des fichiers XML
    Par buildit dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/05/2005, 11h57
  5. Réponses: 4
    Dernier message: 15/12/2002, 05h19

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