J'ai essayé et comme sa ne fonctionne pas je reprend depuis le début.
voici mon fichier XML :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
<sit_liste>
<NOM>Fini les vacances</NOM>
<ADRPROD_CP>88250</ADRPROD_CP>
<ADRPROD_TEL/>00 00 00 00 00<ADRPROD_TEL/>
<ADRPROD_URL>www.unsite.com<ADRPROD_URL/>
<COMMENTAIRE>infos sur lactualité fini les vacances, retour à lécole</COMMENTAIRE>
<CRITERES>
<Crit CLEF_CRITERE="45" CLEF_MODA="4000014"/>
<Crit CLEF_CRITERE="123" CLEF_MODA="102"/>
<Crit CLEF_CRITERE="775" CLEF_MODA="0">http://www.monsite.com/ img4.jpg</Crit>
<Crit CLEF_CRITERE="2323" CLEF_MODA="0">FAB</Crit>
<Crit CLEF_CRITERE="4562" CLEF_MODA="1"/>
<Crit CLEF_CRITERE="7897" CLEF_MODA="1"/>
<Crit CLEF_CRITERE="32386" CLEF_MODA="2"/>
<Crit CLEF_CRITERE="4658" CLEF_MODA="16"/>
</CRITERES>
<HORAIRES>
<Horaire>
<DATE_DEBUT fmt="DD/MM/YYYY">22/08/2011</DATE_DEBUT>
<DATE_FIN fmt="DD/MM/YYYY">22/08/2011</DATE_FIN>
</Horaire>
</HORAIRES>
</sit_liste> |
pour afficher les données via dom et php je fais :
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
| <?php
$fichier = 'http://www.sitedistant.fr/fichier.xml';
$dom = new DOMDocument();
if (!$dom->load($fichier)) {
die('Impossible de charger le fichier XML');
}
$itemList = $dom->getElementsByTagName('sit_liste');
foreach ($itemList as $item)
{
$titre = $item->getElementsByTagName('NOM');
$titre = $titre->item(0)->nodeValue;
if ($titre != '')
{
echo '<h2>'.$titre.'</h2>'."\n";
}
$img = $item->getElementsByTagName('CRITERES');
$img = $img->item(0)->nodeValue;
if ($img != '')
{
echo ' <img src="'.$img.'" width="100" class="gauchebrd"><br/>';
}
$commune = $item->getElementsByTagName('ADRPROD_LIBELLE_COMMUNE');
if ($desc->length > 0)
{
echo ' Commune : '.$commune->item(0)->nodeValue.'<br/>'."\n";
}
$debut = $item->getElementsByTagName('DATE_DEBUT');
if ($desc->length > 0)
{
echo ' Du : '.$debut->item(0)->nodeValue ;
}
$desc = $item->getElementsByTagName('COMMENTAIRE');
if ($desc->length > 0)
{
echo ' '.$desc->item(0)->nodeValue.'<br/>'."\n";
}
}
?> |
C'est lorsque j’essaie d'afficher les images qui sont dans Crit que sa bug.
par exemple si j'ai dans mon xml juste un seul Crit avec valeur comme:
<Crit CLEF_CRITERE="775" CLEF_MODA="0">http://www.monsite.com/ img4.jpg</Crit>
ok je récupère bien et affiche une image avec php
Mais si j'ai plusieurs résultats comme:
1 2
| <Crit CLEF_CRITERE="775" CLEF_MODA="0">http://www.monsite.com/ img4.jpg</Crit>
<Crit CLEF_CRITERE="2323" CLEF_MODA="0">FAB</Crit> |
Alors la au lieu de récupérer uniquement http://www.monsite.com/ img4.jpg je récupère http://www.monsite.com/ img4.jpgFAB et je ne peu donc pas afficher l'image avec mon php. (je ne veux récupérer de Crit que le type image et rien d'autre pour le moment)
j'ai essayé dans mon fichier php de remplacer
$img = $item->getElementsByTagName('CRITERES');
par
$img = $item->getElementsByTagName('Crit');
mais le problème est que je ne récupéré rien sauf si le 1er Crit contient qqc.
J’espère que c'est plus claire et que vous pourrez m'aider.
Partager