XML -> PHP sur un fichier avec des valeurs aux balises
#1
Posté 24 mars 2009 - 12:25
Je voudrais parser un fichier XML (dispo ici http://lurvemag.tumblr.com/api/read) en PHP.
Habituellement je découpe les articles comme ceci :
$items = explode('<post>', $rawitems[0]);
Mon problème ici est que la balise <post> (qui délimite un article) contient des valeurs : <post id="89007972" url="...." .............>
J'ai donc essayé $items = explode('<post (.*) format="html">', $rawitems[0]); mais ça ne marche pas.
Une idée ??
Merci d'avance
#6
Posté 24 mars 2009 - 13:29
- Mon petit site a moi
#7
Posté 24 mars 2009 - 13:31
L'héroïsme, c'est la seule manière de devenir célèbre quand on a pas de talent (l'homme aux initiales douteuses)
Venez tester votre niveau de compétence en PHP :-)
#9
Posté 24 mars 2009 - 14:55
#10
Posté 24 mars 2009 - 14:56
- Mon petit site a moi
#11
Posté 24 mars 2009 - 15:09
Je vais regarde le parsing de magpie alors oui meme si bon aprés pour exploiter mon XML y'avais aucun soucie, juste le explode qui posait probleme
#12
Posté 24 mars 2009 - 15:12
SetEnv PHP_VER 5
#13
Posté 24 mars 2009 - 15:12
SetEnv PHP_VER 5
Edit : Captain, le modo qui répond plus vite que son ombre
- Mon petit site a moi
#14
Posté 24 mars 2009 - 15:27
Au final je pense que ça irais plus vite avec un explode ...
Et toute façon ça ne fonctionne pas
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found
Ce message a été modifié par slash31 - 24 mars 2009 - 15:36.
#15
Posté 24 mars 2009 - 15:43
- Mon petit site a moi
#16
Posté 24 mars 2009 - 15:49
Application :
$site = "http://lurvemag.tumblr.com/api/read";
$xml = new SimpleXMLElement($site, NULL, TRUE);
print_r($xml);
===========> Fonctionne est me donne tout le XML
$xml = new SimpleXMLElement($site, NULL, TRUE);
foreach ($xml->post as $post) { echo 'TEST<br />'; }
===========> Ne m'affiche rien
Ce message a été modifié par slash31 - 24 mars 2009 - 15:52.
#17
Posté 24 mars 2009 - 15:53
Edit : C'est normal, regarde ce que te donne le print_r
Tu dois sûrement faire quelque chose du genre :
foreach($xml->posts->post as $post)
#18
Posté 24 mars 2009 - 15:56
http://lurvemag.tumblr.com/api/read
#19
Posté 24 mars 2009 - 16:01
ou alors utilises
$xml = simplexml_load_file('test.xml')
- Mon petit site a moi



Haut














