parser et sauver un flux XML dans une bdd > je sèche

WRInaute passionné
Salut tout le monde!

J'ai trop du mal la, le flux se présente sous cette forme:

<nb_reponse>341</nb_reponse>
<Artiste id='7732'>Abba</Artiste>
<Artiste id='7509'>Ace Of Base</Artiste>
<Artiste id='7733'>Adamo</Artiste>
<Artiste id='12991'>Aladin</Artiste>
<Artiste id='13007'>Alain Barriere</Artiste>

Et je veux récupérer la valeur id et l'artiste, et le foutre dans une bdd...

Ne rigolez pas, mais pour le moment, j'en suis la:

Code:
$file = fopen($fichier_xml,"r");
if ($file) {

    while (!feof($file)) $raw .= fread($file,32000);
    fclose( $file );
	list($maximum) = explode("</nb_reponse>", $raw);
	echo "$maximum";

j'arrive juste a obtenir le nombre de valeur...

Qui peux m'aider pour la suite, j'arrive vraiment pas, malgré plein d'essais fantaisistes.
 
WRInaute passionné
Effectivement...

Si toutefois tu compte le faire toi même, je te conseille d'utiliser les expressions régulières plutot que explode.

PS: Eclectique ta base de données... ;D
 
WRInaute discret
Si le flux est simple tu peux faire comme ca:
Code:
eregi("<nb_reponse>(.*)</nb_reponse>", $raw,$nb_reponse);
echo "Nombre de page :".$nb_reponse[1]."<br>";

echo "<br>";
for($a = 0; $a < $nb_reponse[1]; $a++)
{
$a_balise = explode("<Artiste id=", $raw);
eregi("(.*)</Artiste>",$a_balise[$a+1], $href);
$res = str_replace("'","",$href[1]);
$res = explode(">",$res);
$id = trim($res[0]);
$artiste = trim($res[1]);
echo $id." - ".$artiste."<br>";

// connexion a la base

}
 
Discussions similaires
Haut