Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > SimpleXML
SimpleXML Forum d'entraide pour l'extension SimpleXML, qui permet de manipuler des documents XML en PHP (approche DOM).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/04/2006, 17h34   #1
Invité de passage
 
Inscription : avril 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 12
Points : 2
Points : 2
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 :
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 :
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 :
1
2
$result = $fichier->xpath('//loisirs/affiner');
print_r ($result[0]);
j'obtiens :
Citation:
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.
vanilla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 17h43   #2
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
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 :
1
2
3
4
 
foreach($xml->xpath('//loisirs/affiner/n') as $cle => $val){
    echo $val;
}

Pierre
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 17h47   #3
Invité de passage
 
Inscription : avril 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 12
Points : 2
Points : 2
ok, merci.
comme ça y est je suis un boulet, je me risque à une autre question.
pourquoi
Code :
$nom_loisir= $fichier->xpath('//loisirs/affiner/n');
ne fonctionne pas directement? dans certain exemple similaire justement ça fonctionne!
vanilla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 17h51   #4
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Je pense que comme il y a plusieurs éléments nommés n, cela te renvoi un tableau qu'il faut bien sur parcourir
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 17h55   #5
Invité de passage
 
Inscription : avril 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 12
Points : 2
Points : 2
en appliquant le code que vous m'avez donné, rien ne s'affiche.

par contre j'arrive à afficher avec ça:

Code :
1
2
3
4
5
6
7
$result = $fichier->xpath('//loisirs/affiner);
 
foreach ($result[0]->n as $test)
{
    echo $test;
    echo "<br />";
}
vanilla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 17h57   #6
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Les deux fonctionnent
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 17h58   #7
Invité de passage
 
Inscription : avril 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 12
Points : 2
Points : 2
Code :
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.
vanilla est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h53.


 
 
 
 
Partenaires

Hébergement Web