Lecture fichier XML

fabrice88
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 289
Inscription: 15 Oct 2007

Lecture fichier XML

Message le Ven Aoû 05, 2011 18:31

Bonjour,
je souhaite afficher des données qui se trouve dans un fichier XML externe a mon site.
pour le moment je procède de cette façon mais le problème que je rencontre c'est qu'au lieu d'avoir les infos qui s'affichent groupe par groupe j'ai par exemple en 1er tout les nom puis ensuite tout les tel puis ensuite tout les commentaires.

nom1 nom2 nom3...
tel1 tel2 tel3 ...
commentaire1 commentaire2 commentaire3

En fait je voudrait récupérer de cette façon :
nom1 - tel1 - commentaire1
nom2 - tel2 - commentaire2
nom3 - tel3 - commentaire3
....

Comment faire pour avoir l'affichage groupe par groupe

voici mon code actuel :

Code: Tout sélectionner
  $dom = new DomDocument;
  $dom->load("http://www.unsite.fr/batchs/LIENS_PERMANENTS/lefichierxml.xml");
 
  $listeNOM = $dom->getElementsByTagName('NOM');
  foreach($listeNOM as $NOM)
  echo $NOM->firstChild->nodeValue . "<br />";
 
  $listeADRPROD_TEL = $dom->getElementsByTagName('ADRPROD_TEL');
  foreach($listeADRPROD_TEL as $ADRPROD_TEL)
  echo $ADRPROD_TEL->firstChild->nodeValue . "<br />";


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

Re: Lecture fichier XML

Message le Ven Aoû 05, 2011 18:58

Il nous faudrait un VRAI extrait de ton XML, sans ça difficile de t'orienter.


spout
WRInaute accro
WRInaute accro
 
Messages: 4379
Inscription: 14 Mai 2003

Re: Lecture fichier XML

Message le Ven Aoû 05, 2011 19:15

NB: SimpleXML me semble plus simple à utiliser que DOMDocument: http://www.php.net/manual/fr/function.simplexml-load-file.php

fabrice88
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 289
Inscription: 15 Oct 2007

Re: Lecture fichier XML

Message le Ven Aoû 05, 2011 19:43

Voici un bout du xml.

Code: Tout sélectionner
<sit_liste>
<NOM>Concert</NOM>
<PRODUIT>0000001</PRODUIT>
<NOM>Concert</NOM>
<ADRPROD_LIBELLE_COMMUNE>VILLE</ADRPROD_LIBELLE_COMMUNE>
<ADRPROD_COMPL_ADRESSE>Salle des Fêtes</ADRPROD_COMPL_ADRESSE>
<ADRPROD_CP>codepo</ADRPROD_CP>
<ADRPROD_EMAIL>info@urlinternetconcert.net</ADRPROD_EMAIL>
<ADRPROD_TEL>00 00 00 00 00</ADRPROD_TEL>
<ADRPROD_URL>www.urlinternetconcert.net</ADRPROD_URL>
<COMMENTAIRE>Le concert debutera a 23heures</COMMENTAIRE>
</sit_liste>


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

Re: Lecture fichier XML

Message le Ven Aoû 05, 2011 19:48

C'est normal du coup, la tu récupère tous les noeuds de même nom et tu parcoures le tableau ainsi collecté. Il faudrait faire un parcours arborescent à la place.

Et du coup, +1 spout. Un tuto exemple pour utiliser simplexml pour parser un arbre XML complet : http://debuggable.com/posts/parsing-xml-using-simplexml:480f4dfe-6a58- ... 5acbdd56cb

fabrice88
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 289
Inscription: 15 Oct 2007

Re: Lecture fichier XML

Message le Ven Aoû 05, 2011 20:08

Merci je regarde sa et vous informe de l'avancement.

fabrice88
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 289
Inscription: 15 Oct 2007

Re: Lecture fichier XML

Message le Lun Aoû 08, 2011 8:39

bonjour à tous,
voilà j'ai étudié un peu simple xml et je progresse lentement sur mon pb.
avec simplexml j'arrive a afficher les données qui sont dans un xml mais seulement jusqu'a un certain niveau.
voilà un aperçu de l'xml :
Code: Tout sélectionner
_<FAB>
   <ORIGINE>Bla bla bla</ORIGINE>
   _<Definition>
      <Date>Bla bla bla</Date>
      <QUI>Bla bla bla</QUI>
   </Definition>
   _<NOMENCLATURE>Bla bla bla</NOMENCLATURE>
   _<Resultat>
      _<sit_liste>
         <NOM>Bla bla bla<NOM>
         <ADRESSE>Bla bla bla<ADRESSE>
         <CRITERES>
            _<Crit CLEF_CRITERE="0000001" CLEF_MODA="0">http://www.site-rss.fr/photos/4.jpg</Crit>
         </CRITERES>
      </sit_liste>
   </Resultat>
</FAB>


jusqu’à présent j'arrive a afficher les données qui sont dans <sit_liste> mais si j'essai d'afficher se qu'il y a dans <CRITERES> (les liens d'images) sa ne fonctionne pas.

voici mon code actuel :

Code: Tout sélectionner
<?php
$xml = simplexml_load_file("http://www.site-rss.fr/monxml.xml");

echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
  {
  echo $child->getName() . ": " . $child . "<br />";
   foreach($child->sit_liste as $sit_liste)
     {
          echo "Nom: " .$sit_liste->NOM . '<br/>';
          echo "CP: " .$sit_liste->ADRPROD_CP . '<br/>';
          echo "Téléphone: " .$sit_liste->ADRPROD_TEL . '<br/>';
          echo "Site Web: " .$sit_liste->ADRPROD_URL . '<br/>';
         
         foreach($sit_liste->CRITERES as $CRITERES)
           {
                echo "Photo: " .$CRITERES->Crit .'<br/>';
           }

          echo "Date : du" .$sit_liste->DATE_DEBUT . ' au '  .$sit_liste->DATE_FIN . '<br/>';
          echo "Description: " .$sit_liste->COMMENTAIRE . '<br/>';
        echo "<br/>---------------------------------------------<br/>";
     }
 
  }
?>


savez vous ou est mon erreur ? j'ai bossé dessus se week end et je n'ai pas réussi a faire afficher cri (qui contiens un lien image)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités