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] PHP XML et accès aux variables


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 6
    Points
    6
    Par défaut [SimpleXML] PHP XML et accès aux variables
    Bonjour,
    J'ai encore un petit soucis pour accéder à certaines données xml via php5.
    j'ai un fichier xml du type :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <a>
     <nom> fdfsd </nom>
     <prenom>fgerger</prenom>
     <loisirs>
         <type>exterieure<type>
         <affiner>
             <n>escalade</n>
             <n>foot</n>
             <n>tennis</n>
         </affiner>
     </loisirs>
    </a>

    et je n'arrive absoluement pas à accéder aux données <n> comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nom_loisir= $fichier->xpath('//loisirs/affiner/n');
    print $nom_loisir[1];
    Et je n'arrive pas non plus à y accéder en fonction de <affiner> non plus (pour savoir combien de <n> pour affiner[3]):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $result = $fichier->xpath('//loisirs/affiner');
    print_r ($result[0]);
    j'obtiens :
    SimpleXMLElement Object ( [n] => Array ( [0] => escalade [1] => foot [2] => tennis [3] ) )
    mais j'arrive pas à récuperer les valeurs elles-même.

    bref, j'arrive pas à grand chose .
    merci pas avance à vous.

  2. #2
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    En lisant la doc c'est quand meme assez simple et tu as tout de suite la solution à ton problème ( surtout que l'exemple présenté est similaire )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach($xml->xpath('//loisirs/affiner/n') as $cle => $val){
        echo $val;
    }

    Pierre

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    ok, merci.
    comme ça y est je suis un boulet, je me risque à une autre question.
    pourquoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nom_loisir= $fichier->xpath('//loisirs/affiner/n');
    ne fonctionne pas directement? dans certain exemple similaire justement ça fonctionne!

  4. #4
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Je pense que comme il y a plusieurs éléments nommés n, cela te renvoi un tableau qu'il faut bien sur parcourir

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    en appliquant le code que vous m'avez donné, rien ne s'affiche.

    par contre j'arrive à afficher avec ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $result = $fichier->xpath('//loisirs/affiner);
     
    foreach ($result[0]->n as $test)
    {
        echo $test;
        echo "<br />";
    }

  6. #6
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Les deux fonctionnent

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach($fichier->xpath('//loisirs/affiner/n') as $cle => $val){
    echo $val;
    }
    ne fonctionne pas chez moi! la syntaxe est pourtant bonne. en tout cas merci pour ton aide.

Discussions similaires

  1. [FLASH MX] Accès aux variables
    Par renofx1 dans le forum Flash
    Réponses: 4
    Dernier message: 21/12/2005, 16h30
  2. Acces aux variables d'une DLL
    Par abignon dans le forum MFC
    Réponses: 1
    Dernier message: 08/09/2005, 15h29
  3. [C#] Accès aux variables Session
    Par kalan dans le forum ASP.NET
    Réponses: 9
    Dernier message: 31/08/2005, 17h40
  4. [FLASH MX2004] [AS2] Accès aux variables d'une classe
    Par stailer dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 17/07/2005, 13h58
  5. [Language]Accès aux variables
    Par Adaemon dans le forum Langage
    Réponses: 12
    Dernier message: 27/04/2005, 15h17

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