Je débute en PHP et j'ai un petit problème pour récupérer sur mon site les produits d'un flux xml.
Voila mon flux :
Code : Tout sélectionner
- <XML_EXEMPLE>
<cat>
<principal>Principal1</principal>
<s1 id="produit1">produit1a<s1>
<s2 id="produit1">produit1b</s2>
<s3 id="produit1">produit1c</s3>
<s4 id="produit1">produit1d</s4>
</cat>
<cat>
<principal>Principal2</principal>
<s1 id="produit2">produit2a<s/1>
<s2 id="produit2">produit2b</s2>
<s3 id="produit2">produit2c</s3>
<s4 id="produit2">produitd</s4>
</cat>
</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("fichier.xml","menu",array("principal"));
// Une petite boucle suffit pour retrouver les élément du tableau
// retourné dans la fonction lit_xml()
foreach($xml as $row) {
echo '<div><a href="'.$row['0'].'" id="current"'.$row['0'].'">',$row['0'],'</div>';
}
J'aimerai maintenant afficher dans un autre <div> tous les produits d'une des catégories principale. Mais la je coince...Est ce que vous pouvez me donner une piste pour que je récupère par exemple tous les produits de la catégorie principale 1 ?
Est ce qu'il faut que je rajoute un id ?
Merci de votre aide !!!