Parser flux xml

bbenjj Messages postés 8 Statut Membre -  
 bbenjj -
Bonjour,
J'essaye depuis quelques heures de parser un flux xml reroupant quelques photos mais je ni arrive pas.
Il est de cette forme :

<?xml version="1.0" encoding="iso-8859-1"?>
<ListeSet>
<Set id="01767">
<DateParution></DateParution>
<Titre></Titre>
<Description></Description>
<Url></Url>

</Set>
<Set id="...">
.....
</Set>
</ListeSet>

Afin de le parser, j'ai essayé magpierss mais je ni arrive pas.
Ce que j'ai essayé :
<?php

require_once('magpierss/rss_fetch.inc');

$url = "url_flux";

$rss = fetch_rss( $url );

foreach ($rss->items as $item) {
$DateParution= $item['DateParution'];
$Titre= $item['Titre'];
$Description = $item['Description'];
echo $Titre;
echo $Description;

}
?>

Donc j'appel a votre aide afin de pouvoir regler mon probléme.

Je vous remercie d'avance.
A voir également:

4 réponses

bbenjj Messages postés 8 Statut Membre
 
les erreurs que j'ai son ici : http://bbenjj.free.fr/erreur.jpg
0
Posotaz Messages postés 505 Statut Membre 225
 
Hello,

La déclaration XML est-elle bien la première instruction du fichier ? C'est à dire pas de lignes blanches au dessus ni même de caractère espace,... Le fichier doit vraiment commencer par <?xml... et rien d'autre.
0
bbenjj
 
Bonjour et merci d'avoir répondu,
les erreurs provoquées par la page xml ont été résolu, il me reste que celle ci :

Warning: Invalid argument supplied for foreach() in /home.10.24/www/bbenjj/test/parser.php on line 3

et a la ligne 3 on a :

foreach ($ListeSet->Set as $info) {
0
bbenjj
 
J'ai trouvé la solution

PHP:
<?php
$xml = simplexml_load_file('test.xml');
$liste = $xml->Set;
foreach ($liste as $info){

print $info['id'];
print $info->Titre;
print $info->Description;
print $info->Url;
print $info->Note;
}
?>

Code:
<?xml version="1.0" encoding="iso-8859-1" ?>
<ListeSet>
<Set id="01767">
<DateParution>28/01/2008</DateParution>
<Titre>Photo</Titre>
<Description>Tres belle photo</Description>
<Url>......</Url>
<Note>8</Note>
</Set>
</ListeSet>
0