Parser le flux XML de Flcikr avec PHP

Eléphanteau du PHP | 13 Messages

18 avr. 2009, 18:37

Bonjour à tous,

Je me casse les dents depuis quelques jours sur l'API Flickr. Je n'arrive pas à récupérer les valeurs (parser le fichier XML généré) afin d'afficher mes photos Flickr sur mon site Internet.

Code : Tout sélectionner

<rsp stat="ok"> <photos page="1" pages="1" perpage="100" total="16"> <photo id="xxxxxxxxx" owner="yyyyyyyyyy" secret="azerty" server="1234" farm="X" title="Title" ispublic="1" isfriend="0" isfamily="0"/> <photo id="xxxxxxxxx" owner="yyyyyyyyyy" secret="azerty" server="1234" farm="X" title="Title" ispublic="1" isfriend="0" isfamily="0"/> <photo id="xxxxxxxxx" owner="yyyyyyyyyy" secret="azerty" server="1234" farm="X" title="Title" ispublic="1" isfriend="0" isfamily="0"/> <photo id="xxxxxxxxx" owner="yyyyyyyyyy" secret="azerty" server="1234" farm="X" title="Title" ispublic="1" isfriend="0" isfamily="0"/> <photo id="xxxxxxxxx" owner="yyyyyyyyyy" secret="azerty" server="1234" farm="X" title="Title" ispublic="1" isfriend="0" isfamily="0"/> <photo id="xxxxxxxxx" owner="yyyyyyyyyy" secret="azerty" server="1234" farm="X" title="Title" ispublic="1" isfriend="0" isfamily="0"/> <photo id="xxxxxxxxx" owner="yyyyyyyyyy" secret="azerty" server="1234" farm="X" title="Title" ispublic="1" isfriend="0" isfamily="0"/> <photo id="xxxxxxxxx" owner="yyyyyyyyyy" secret="azerty" server="1234" farm="X" title="Title" ispublic="1" isfriend="0" isfamily="0"/> </photos> </rsp>
Je souhaiterais récupérer les valeurs envoyées par ce XML dans un array PHP afin de les afficher dans une galerie.

J'ai trouvé des dizaines de fonctions / parsers mais rien ne marche ...
Auriez-vous quelques liens / fonctions / idées qui pourraient me sortir de la purée ?

Merci et bon week-end à tous.

Rémy

ViPHP
ViPHP | 928 Messages

18 avr. 2009, 18:45

Salut,
tu as essayé d'utiliser SimpleXML tout simplement ?

Eléphanteau du PHP | 13 Messages

19 avr. 2009, 14:54

Oui, j'ai bien essayé ça, mais je ne comprends pas comment l'utiliser en fait. Je pense que je dois utiliser la fonction "simplexml-load-file", mais ça me renvoit cette erreur

Code : Tout sélectionner

Notice: simplexml_load_file() [function.simplexml-load-file]: send of 129 bytes failed with errno=0 Op�ration r�ussie. in C:\Program Files\EasyPHP 3.0\www\monsite\include\fonctions.php on line 343 Warning: simplexml_load_file(http://...@N04&api_key=xxxxxxxxxxxxxxxxx) [function.simplexml-load-file]: failed to open stream: HTTP request failed! <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in C:\Program Files\EasyPHP 3.0\www\monsite\include\fonctions.php on line 343 Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://flickr.com/services/rest/?method=flickr.people.getPublicPhotos&user_id=yyyyyyyyyyyyyyy&api_key=xxxxxxxxxxxxxxxxxxxxx" in C:\Program Files\EasyPHP 3.0\www\monsite\include\fonctions.php on line 343
Je chauffe ou je m'éloigne ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

19 avr. 2009, 16:10

Bonjour,

Commence par enregistrer le fichier XML en local et de le traiter avec ton script.
Quand tout le reste a échoué, lisez le mode d'emploi...