cs_ddpetit
Messages postés13Date d'inscriptiondimanche 27 mars 2005StatutMembreDernière intervention26 mai 2006
-
25 mai 2006 à 23:09
cs_ddpetit
Messages postés13Date d'inscriptiondimanche 27 mars 2005StatutMembreDernière intervention26 mai 2006
-
26 mai 2006 à 18:21
Bonjour à tous, je suis en train de me créer un parser xml pour un de mes sites, un problème subsiste, j'ai réussi à faire le parser en lui meme, mais dans chaque <$item> il y a des <retailer>, le but est de réussir à ajouter les retailer dans la fin de la fonction.
<?
function xParse($fichier,$item,$champs) {
// on lit le fichier
if($chaine = @implode("",@file($fichier))) {
// on explode sur
$tmp = preg_split("/<\/?".$item.">/",$chaine);
// pour chaque
for($i=1;$i<sizeof($tmp)-1;$i+=2)
// on lit les champs demandés <champ>
foreach($champs as $champ) {
$tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
// on enleve les eventuels cdata
$tKikou = explode("<![CDATA[", $tmp2[1]);
if ( count($tKikou) > 1 ){
$sKikou = $tKikou[1];
}
else {
$sKikou = $tKikou[0];
}
$tKikou = explode("]]>", $sKikou);
$sKikou = $tKikou[0];
$tmp2[1] = $sKikou;
// on ajoute au tableau
$tmp3[$i-1][] = @$tmp2[1];
}
// et on retourne le tableau
return $tmp3;
}
}
function xDisp ($url, $item, $elements){
// on parse
$xml = xParse($url, $item, $elements);
// on affiche
echo "";
foreach($xml as $row) {
echo "<li>"
."".$row[0]." - ".$row[1]." "
."".$row[2]." "
.$row[8]
."</li>
";
}
echo "";
}
?>