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 13/02/2007, 16h51   #1
Membre confirmé
 
Avatar de onet
 
Inscription : décembre 2002
Messages : 365
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : décembre 2002
Messages : 365
Points : 283
Points : 283
Envoyer un message via MSN à onet Envoyer un message via Skype™ à onet
Par défaut [SimpleXML] Parser du XML dans mon php

Bonjour a tous,

Bon, je commence a faire mumuse avec le XML que je désire lire dans mon PHP. Bien évidemment, ca se fait en objet, dont je mets gentiment les pieds dedans aussi, du moins en PHP.

Donc, je désire parser un fichier XML. jusque la, rien de compliqué, j'arrive a atteindre mes noeds, et donc a afficher mes différentes donnée:

Code :
1
2
3
4
5
6
                        $xml = simplexml_load_file("test.xml") ;
 
                        foreach($xml->articles as $exemple)
						{
	                        print_r($exemple) ;
						}
qui me sorts:
Code X :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SimpleXMLElement Object
(
    [id] => 1
    [id_cat] => 0
    [nom] => fdsfy
    [description] => sfdf
    [photo1] => sdfas
    [photo_mesure] => dfs
    [reference] => asdf
    [prix] => 34
    [mesure] => dfvxcv
    [info_mesure] => sdfasd
    [cote] => 9
    [caracteristique] => sfdf
    [indication] => sdfa
    [coloris] => 3
    [code_barre] => 3
    [meta] => fadsfsd
    [art_multiple] => 0
)

Aucun souci, pour récupérer une valeur avec
par exemple.

La ou j'ai un souci, c'est que je désire pouvoir récupérer le contenu de mes noeuds, sans en connaitre le nom. Ca me permettrait ainsi de pouvoir transformer mon xml en requète SQL, par exemple.

J'ai testé avec:
Code :
1
2
3
4
5
6
7
8
                        $xml = simplexml_load_file("test.xml") ;
 
                        foreach($xml->articles as $exemple)
						{
	                        print_r($exemple) ;
							echo '<br>';
							echo $exemple->getName();
						}
Le souci, c'est qu'il me récupère le nom de mon noeud "articles". Comment je fais pour lui "dire" d'aller au noeud suivant, et de me le renvoyer? (par exemple récupérer id, id_car, nom, etc... (pas leurs valeur, mais leurs nom!).

Quelqu'un a-t-il une idée? Ca fait un moment que je cherche, et je galère un peu!

Onet

P.S: si l'un de vous a une doc complète et bien explicite sur la gestion d'un XML en PHP5, je suis preneur
onet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 16h55   #2
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
heu j'ai des cours complets sur l'utilisation du DOM et de XML via PHP, un exemple d'appli aussi mais j'utilise pas simplexml
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 17h18   #3
Membre confirmé
 
Avatar de onet
 
Inscription : décembre 2002
Messages : 365
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : décembre 2002
Messages : 365
Points : 283
Points : 283
Envoyer un message via MSN à onet Envoyer un message via Skype™ à onet
Citation:
Envoyé par Dia_FR
heu j'ai des cours complets sur l'utilisation du DOM et de XML via PHP, un exemple d'appli aussi mais j'utilise pas simplexml
Je ne suis pas spécialement limité a simplexml. J'ai pris ca, car il semblait me convenir.

Etant en phase de découverte et d'apprentissage, je suis ouvert a tout. Donc si tu as de la doc a me proposer pour autre chose, ca me va aussi

Onet
onet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 17h41   #4
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
Tu peux faire une itération sur $exemple->children() (avec foreach par exemple), ca va te sortir les fils du node $exemple
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 10h09   #5
Membre confirmé
 
Avatar de onet
 
Inscription : décembre 2002
Messages : 365
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : décembre 2002
Messages : 365
Points : 283
Points : 283
Envoyer un message via MSN à onet Envoyer un message via Skype™ à onet
Citation:
Envoyé par goodpz
Tu peux faire une itération sur $exemple->children() (avec foreach par exemple), ca va te sortir les fils du node $exemple
J'avais des soucis pour comprendre comment le mettre. Ca marche tip top! merci

Onet
onet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h19.


 
 
 
 
Partenaires

Hébergement Web