Parser un flux xml

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Parser un flux xml

par bbenjj » 01 juil. 2008, 10:43

c'est bon j'ai trouvé :
<?
$xml = simplexml_load_file(""flux.php");
for ($i = 1; $i <= 29; $i++) {
foreach($xml->ListeContenu->Contenu[$i]->ListeExtrait[0] as $extrait)
{  
   echo $extrait.'<br>';  
} 
}
?> 
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par bbenjj » 30 juin 2008, 16:25

Faudrait-il pas definir Extrait1 Extrait2 .. ?
car j'ai vérifier tous les noms et page blanche quand même
<?
if($xml = simplexml_load_file("flux.xml")) {

   $xml = $xml->ListeContenu;
   foreach($xml->Contenu->Extrait as $extrait) {  
   echo $extrait;  
} 
}
?> 

Code : Tout sélectionner

<?xml version="1.0" encoding="iso-8859-1"?> <flux> <ListeContenu> <Contenu> <Titre>musique popo</Titre> <ListeExtrait> <Extrait>test1</Extrait> <Extrait>test2</Extrait> <Extrait>test3</Extrait> <Extrait>test4</Extrait> </ListeExtrait> </Contenu> </ListeContenu> </flux>

par katagoto » 30 juin 2008, 16:20

ah euh, doit y avoir une erreur de nom, si y a pas d'erreur affiché je vois que ça :?

par bbenjj » 30 juin 2008, 16:17

<?
if($xml = simplexml_load_file("flux.xml")) {

   $xml = $xml->ListeContenu;
   foreach($xml->Contenu->Extrait as $extrait) {  
   echo $extrait;  
} 
}
?> 
Ca me donne une page blanche :(

par katagoto » 30 juin 2008, 16:11

Pour n'as tu pas fais un truc dans ce genre :
foreach($xml->Contenu->Extrait as $extrait) { 
    echo $extrait; 
}

par bbenjj » 30 juin 2008, 15:12

Merci de t'as réponse,
j'ai essayé ca, mais ca marche pas
while($xml->Contenu->Extrait[$j]) {
echo "".$xml->Contenu->Extrait[$j]."" ;
$j++ ;
}

par katagoto » 30 juin 2008, 14:54

Bonjour

Je vais tenté de te mettre sur la voix, pourquoi ne fait tu pas une boucle pour lister le dernier noeud, sâche que pour accéder à un sous objet, c'est très simple : $objet->sousobjet->methode()...

Ca devrait t'aider...

Parser un flux xml

par bbenjj » 30 juin 2008, 14:47

Bonjour,
J'ai réussi a parser un flux xml mais y a une partie ou je bloque :
Flux xml :

Code : Tout sélectionner

<flux> <ListeContenu> <Contenu> <Titre>musique popo</Titre> <ListeExtrait> <Extrait>test1</Extrait> <Extrait>test2</Extrait> <Extrait>test3</Extrait> <Extrait>test4</Extrait> </ListeExtrait> </Contenu> <ListeContenu> </flux>
Pour le titre il ni a pas de probléme, mais pour la partie contenu entre ListeExtrait je bloque
<?
if($xml = simplexml_load_file("flux.xml")) {

   $xml = $xml->ListeContenu;

       foreach($xml->Contenu as $Contenu) {
       $titre = $Contenu->Titre;
       echo "$titre";
   }

}
?> 
Je vous remercie d'avance pour votre aide