Lecture fichier .xml en php

Fermé
jennifer - 23 févr. 2007 à 10:12
 salsabile - 5 juin 2011 à 18:26
bonjour à tous
voila, je debute en php et j'ai un probleme au niveau de la lecture de fichier d'extention .xml.
j'ai ecris un code le voici:

<?php

// Partons d'un exemple simple et trés classique
// Imaginons 1 fichier XML avec 2 éléments, 'id' et 'prenom'
// L'item principal est 'profil'
?>

<? xml version="1.0" encoding="ISO-8859-1" ?>
- <XML_EXEMPLE>
- <profil>
<id>200</id>
<prenom>Koogi</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) {

echo $row[0];
// affiche 200
echo $row[1];
// affiche Koogi

}


?>
le probleme est qu'on me signale une erreur au niveau de cette ligne de code:
xml version="1.0" encoding="ISO-8859-1"

si quelqun peut m'aider
merci
A voir également:

2 réponses

oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
23 févr. 2007 à 14:28
Hello,

Serait il possible d'avoir l'erreur en entier ?
0
salut
attacher xml avec ? et modifier encoding par "utf-8"
comme ca
<?xml version="1.0" encoding="utf-8" ?>
0