[DOM XML] Un souci avec un script
salut,
Le code ci dessous je l'ai copié du web
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
<?php
<xml version="1.0" encoding="ISO-8859-1">
<XML_EXEMPLE>
<profil>
<id>200</id>
<prenom>Koogi</prenom>
</profil>
<profil>
<id>300</id>
<prenom>PSAS</prenom>
</profil>
</XML_EXEMPLE>
<?
// FONCTION qui va lire le fichier XML et le placer dans un tableau
// Cette fonction sert de parseur
function lit_xml($fichier,$item,$champs) {
// on lit le fichier
if($chaine = @implode("",@file($fichier))) {
// on explode sur <item>
// Dans l'exemple il s'agit de 'profil'
$tmp = preg_split("/<\/?".$item.">/",$chaine);
// pour chaque <item> donc tous les profils
for($i=1;$i<sizeof($tmp)-1;$i+=2)
// on lit les champs demandés <champ> donc il s'agit de 'id' et 'prenom'
foreach($champs as $champ) {
$tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
// on ajoute l'élément au tableau
$tmp3[$i-1][] = @$tmp2[1];
}
// et on retourne le tableau dans la fonction
return $tmp3;
}
}
// Lecture du FLUX XML sur le serveur
$xml = lit_xml("http://www.site.com/flux.xml","profil",array("id","prenom"));
// Une petite boucle suffit pour retrouver les élément du tableau
// retourné dans la fonction lit_xml()
foreach($xml as $row) { // ligne 47
echo $row[0];
// affiche 200
echo $row[1];
// affiche Koogi
}
?> |
Le code m'affiche le contenu du fichier XML mais en plus il affiche aussi une erreur:
Citation:
Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP 2.0\www\Untitled-1.php on line 47
J'aimerai savoir la cause de cette erreur si vous avez une idée
merci