Bonjour!
je récupère des données d'un fichier xml sur un serveur distant grace à simpleXML, je les affiche tout va bien. MAIS quand je veux filtrer suivant le contenu d'une balise (un peu comme avec WHERE en sql) avec xpath , j'affiche ce que j'ai filtré mais je ne peux plus accéder aux informations des noeuds du même niveau que celui atteint avec xpath.
Je m'explique, je récupère les données d'une agence immobilière et le fichier xml se présente comme ceci :
<LISTEPA>
<BIEN>
<INFO_GENERALES>...</INFO_GENERALES>
<AGENCE>...</AGENCE>
<VENTE>...</VENTE>
<MAISON>...</MAISON>
<LOCALISATION>...</LOCALISATION>
<DEFISCALISATION>...</DEFISCALISATION>
<INTITULE>...</INTITULE>
<COMMENTAIRES>...</COMMENTAIRES>
<ALUR>...</ALUR>
<VIAGER>...</VIAGER>
<IMAGES>...</IMAGES>
<IMAGES_HD></IMAGES_HD>
<PIECES>...</PIECES>
</BIEN>
</LISTEPA>
Je souhaiterai par exemple afficher les biens qui sont proposés par l'agence de strasbourg en allant dans le noeud <AGENCE> puis <AGENCE_VILLE>. Je fais donc une requete xpath du style:
Sauf qu'après, avec ma boucle foreach dans mon fichier html, je ne peux plus afficher les infos des noeuds <INFOS_GENERALES> ou <MAISON> ...
Je sais bien que je pointe pas là où il faut pour les premiers (h4 et p) mais c'est ceux que j'utilisais au début avec simplexml_load_file, et làs je ne voie pas comment relire les infos des noeuds précédent ou du même niveau ...
Ca parle à qqun? Peut-être avec une autre méthode? Je suis paumé...
Merci d'avance,
Julien
je récupère des données d'un fichier xml sur un serveur distant grace à simpleXML, je les affiche tout va bien. MAIS quand je veux filtrer suivant le contenu d'une balise (un peu comme avec WHERE en sql) avec xpath , j'affiche ce que j'ai filtré mais je ne peux plus accéder aux informations des noeuds du même niveau que celui atteint avec xpath.
Je m'explique, je récupère les données d'une agence immobilière et le fichier xml se présente comme ceci :
<LISTEPA>
<BIEN>
<INFO_GENERALES>...</INFO_GENERALES>
<AGENCE>...</AGENCE>
<VENTE>...</VENTE>
<MAISON>...</MAISON>
<LOCALISATION>...</LOCALISATION>
<DEFISCALISATION>...</DEFISCALISATION>
<INTITULE>...</INTITULE>
<COMMENTAIRES>...</COMMENTAIRES>
<ALUR>...</ALUR>
<VIAGER>...</VIAGER>
<IMAGES>...</IMAGES>
<IMAGES_HD></IMAGES_HD>
<PIECES>...</PIECES>
</BIEN>
</LISTEPA>
Je souhaiterai par exemple afficher les biens qui sont proposés par l'agence de strasbourg en allant dans le noeud <AGENCE> puis <AGENCE_VILLE>. Je fais donc une requete xpath du style:
$elements = $xml->xpath('//BIEN/AGENCE[AGENCE_VILLE=strasbourg]');
Sauf qu'après, avec ma boucle foreach dans mon fichier html, je ne peux plus afficher les infos des noeuds <INFOS_GENERALES> ou <MAISON> ...
<section class="wrapper flex3">
<?php foreach ($elements as $bien): ?>
<article class="bien">
<div class="photo_bien"><img src="<?= $bien->IMAGES->IMG[0] ?>"/></div>
<h4><?= $bien->LOCALISATION->VILLE ?></h4>
<p><?= $bien->INTITULE->FR ?></p>
<p><strong>Nbre de chambres :</strong> <?= $bien->NOMBRE_CHAMBRES ?></p>
<p><strong>Prix :</strong> <?= $bien->VENTE->PRIX_NET ?> euros</p>
<p><strong>Agence :</strong> <?= $bien->AGENCE->AGENCE_VILLE ?></p>
<a href="#">VOIR PLUS</a>
</article>
<?php endforeach ?>
</section>
Je sais bien que je pointe pas là où il faut pour les premiers (h4 et p) mais c'est ceux que j'utilisais au début avec simplexml_load_file, et làs je ne voie pas comment relire les infos des noeuds précédent ou du même niveau ...
Ca parle à qqun? Peut-être avec une autre méthode? Je suis paumé...
Merci d'avance,
Julien