|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
blman WRInaute accro

Inscrit le: 05 Sep 2003 Messages: 2680 Localisation: Nantes / Laval (France)
|
Posté le : Lun Avr 25, 2005 12:05 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
Bonjour,
je recherche un script qui me permettrait de transformer n'importe quelles données contenu dans un fichier xml en tableau en PHP, je m'explique : je dois récupérer certaines données de 5 sites pour en tirer des stats. J'ai donc créer des fichiers de conf de chaque site en XML que je rapatri. Seulement, je suis bloqué, j'arrive pas à récupérer les données en tableau pour les traiter.
Voila ce que j'ai tester :
- -http://www.aidejavascript.com/article118.html?artsuite=0#sommaire_1
- Ya bien simpleXML mais je n'utilise pas cette version de PHP (-http://developpeur.journaldunet.com/tutoriel/php/040921-php-seguy-simplexml-1a.shtml)
- -http://www.commentcamarche.net/php/phpxml.php3
Mais je ne m'en sort pas, faut dire que je connait un peu XML mais je suis pas un expert, et dans ce cas, les données ont quand même une structure assez complexe. Est-ce que quelqu'un connait une classe ou des fonctions simples à mettre en place ?
Dernière édition par blman le Mer Avr 27, 2005 10:18; édité 1 fois |
|
| |
|
 |
rottman WRInaute accro

Inscrit le: 06 Jan 2004 Messages: 2096
|
Posté le : Lun Avr 25, 2005 13:09 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
| Voilà un tutorial XML / PHP assez simple qui pourra t'aider. |
|
| |
|
 |
blman WRInaute accro

Inscrit le: 05 Sep 2003 Messages: 2680 Localisation: Nantes / Laval (France)
|
Posté le : Lun Avr 25, 2005 13:55 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
Merci Rottman, mais ton tuto est efficace pour des fichiers XML simples. Les miens sont assez balaises : les sites dont je parlent sont en plusieurs langues et il y en a même un qui est dans 17 pays. Les fichiers XML que j'importent ne sont pas des fichiers RSS mais tous les fichiers de config de chaque site.
Le système que je recherche ressemblerait beaucoup à celui que j'ais cité -http://www.aidejavascript.com/article118.html?artsuite=0#sommaire_1 mais je n'arrive pas à le faire fonctionner (si il fonctionne) ... |
|
| |
|
 |
blman WRInaute accro

Inscrit le: 05 Sep 2003 Messages: 2680 Localisation: Nantes / Laval (France)
|
Posté le : Lun Avr 25, 2005 14:10 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
| Apparement, Il faudrait un script qui utilise xml-parse-into-struct.php, y'en a un ici : -http://fr2.php.net/manual/fr/function.xml-parse-into-struct.php , je vais regarder... |
|
| |
|
 |
willyz85 WRInaute occasionnel

Inscrit le: 01 Mai 2004 Messages: 134
|
Posté le : Mar Avr 26, 2005 17:38 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
Mais j'utilise ce code, c'est comme celui de clubic casiment
-http://www.asp-php.net/ressources/bouts_de_code.php?codid=43 |
|
| |
|
 |
blman WRInaute accro

Inscrit le: 05 Sep 2003 Messages: 2680 Localisation: Nantes / Laval (France)
|
Posté le : Mar Avr 26, 2005 17:50 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
| Merci willyz85, mais c'est pas du RSS que je veux parser. Je suis en train de bosser avec celui qui a créer ce script -http://www.aidejavascript.com/article118.html?artsuite=0#sommaire_1 : vraiment terrible mais pour l'instant, il ne marche pas sur toutes les versions de PHP. Je vous tiendrait au courant... |
|
| |
|
 |
shrom WRInaute passionné

Inscrit le: 05 Juil 2004 Messages: 866
|
Posté le : Mar Avr 26, 2005 18:25 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
| Lorsque le fichier est volumineux, c'est une très mauvaise idée que d'utiliser un tableau en intermédiare, il vaut mieux utilser SAX avec les callback. |
|
| |
|
 |
willyz85 WRInaute occasionnel

Inscrit le: 01 Mai 2004 Messages: 134
|
Posté le : Mar Avr 26, 2005 18:38 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
| Il n'y a juste la structure qui change non ? Pas les même balise. |
|
| |
|
 |
blman WRInaute accro

Inscrit le: 05 Sep 2003 Messages: 2680 Localisation: Nantes / Laval (France)
|
Posté le : Mer Avr 27, 2005 10:27 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
Pour ceux que ça interresse :
Tout cette recherche sur la manière de parser un fichier XML m'a permis de trouver pas mal de solution :
- les expressions régulières comme le propose Rottman et willyz85 : pour des petits fichiers RSS, ça à l'air de fonctionner très bien.
- la librairie EXPAT de PHP
- simpleXML avec PHP5
- SAX avec les callback comme le propose shroom (je peux pas en parler, je connais pas, d'ailleurs, shroom, si tu pouvais nous en expliquer brièvement le principe, ce serait sympa)
J'ai choisi la solution de la librairie EXPAT qui correspond assez bien à mes besoins (J'aurais bien choisi simpleXML mais y'a pas PHP5 sur l'hébergement, snifff). Pour ce faire, je doit tirer un grand coup de chapeau à Marabbeh qui a fait ce code très efficace : http://www.aidejavascript.com/article118.html |
|
| |
|
 |
shrom WRInaute passionné

Inscrit le: 05 Juil 2004 Messages: 866
|
Posté le : Mer Avr 27, 2005 11:50 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
| blman a écrit: |
- SAX avec les callback comme le propose shroom (je peux pas en parler, je connais pas, d'ailleurs, shroom, si tu pouvais nous en expliquer brièvement le principe, ce serait sympa) |
SAX est une des deux API officielles pour parser du XML avec DOM. La solution que tu as retenu utilise justement SAX ( librairie Expat ), par contre le passage par un tableau intermédiaire n'est pas utile, pourquoi ne pas effectuer directement les traitement dans les fonctions callback. Si ton fichier contient 20 enregistrements, pas de problème, s'il en contient 2000 ton hébergeur va te jeter en moins d'une journée.
Il y a des exemples de manipulation de données avec Expat un peu partout sur le web. |
|
| |
|
 |
blman WRInaute accro

Inscrit le: 05 Sep 2003 Messages: 2680 Localisation: Nantes / Laval (France)
|
Posté le : Mer Avr 27, 2005 12:01 Sujet du message: [Résolu] [PHP - XML] Comment transformer XML en tableau |
|
|
| Dans le cas précis de ce que j'ai à faire, les tableaux vont me suffir amplement sans me prendre trop de ressources mais je vais quand même me renseigner sur ce que tu dis, car ça m'a l'air bien interressant tout ça... Merci en tout cas pour ces précisions. |
|
| |
|
 |
| |
|
|