sanddy Posté 27 Janvier 2009 Partager Posté 27 Janvier 2009 Bonjour, J'ai un gros problème et je n'arrive pas à le résoudre. Je n'arrive pas à afficher plusieurs numéros qui sont entre des balises dans un fichier xml. Cela m'affiche seulement le premier numéro. Un exemple : mon fichier xml a ceci : <Crpcen id="12345" codeNs="xdfsdghrer"> </Crpcen><Crpcen id="43243" codeNs="xdfsdghrer"> </Crpcen><Crpcen id="11111" codeNs="xdfsdghrer"> </Crpcen> Et j'aimerai pouvoir afficher : 12345, 43243, et 11111 seulement, ça m'affiche que le premier id de la premiere balise 12345... Mon code : foreach($XML_files as $file) { $racine = simplexml_load_file($file); $etude = $racine->Crpcen; $groupement[]=$etude["id"]; //echo $etude["id"]; foreach($groupement as $grpt) { echo $grpt; }} $grpt ne m'affiche que 12345... Comment faire, on m'a parlé de tableaux multidimensionnel, mais je ne vois pas comment faire, avez-vous une idée svp ?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 27 Janvier 2009 Partager Posté 27 Janvier 2009 C'est juste que ton $etude = $racine->Crpcen; ne va pointer que sur la première de ces balises. Pour que cela fonctionne, il va falloir que tu utilises une boucle foreach : <?phpforeach($racine->Crpcen as $crpcen) {echo $crpcen['id'];}?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
sanddy Posté 28 Janvier 2009 Auteur Partager Posté 28 Janvier 2009 Bonjour, Merci pour votre réponse, ça marche bien sauf que j'avais oublié de préciser que dans chaque balise crpcen, il y avait d'autres balises. Ex : <Crpcen id="12345" codeNs="xdfsdghrer"> <Clef id="l800044336" ></Clef><Clef id="3432434" ></Clef><Clef id="l45435345" ></Clef></Crpcen><Crpcen id="43243" codeNs="xdfsdghrer"><Clef id="3434334" ></Clef></Crpcen><Crpcen id="11111" codeNs="xdfsdghrer"><Clef id="45435544444" ></Clef><Clef id="323" ></Clef></Crpcen> Comment faire pour récupérer dans chaque fichier xml, le crpcen et tous ses clef id. Ici, je voudrai retrouver... 12345 - l800044336 3432434 l45435345 43243 - 3434334 11111 - 45435544444 323 J'ai fait de nombreux tests sans reussir car je ne m'y connais pas bien en tableaux. Pouvez-vous m'aider svp ? J'ai fait ceci dernièrement : foreach($XML_files as $file) {$racine = simplexml_load_file($file); $etude = $racine->Crpcen; foreach($etude as $crp) { $crpcen = $crp['id']; $liste_biens = $etude->Clef; foreach($liste_biens as $bien) { $bie = $bien['id']; echo $crpcen." "; echo $bie."<br /><br />"; } }} et cela m'affiche tous le temps les meme clef id, celui du premier crpcen !! Soit ceci : 12345 - l800044336 3432434 l45435345 43243 - l800044336 3432434 l45435345 11111 - l800044336 3432434 l45435345 11111 - l800044336 3432434 l45435345 11111 - l800044336 3432434 l45435345 11111 - l800044336 3432434 l45435345 11111 - l800044336 3432434 l45435345 11111 - l800044336 3432434 l45435345 11111 - l800044336 3432434 l45435345 11111 - l800044336 3432434 l45435345 11111 - l800044336 3432434 l45435345 ... merci d'avance pour votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
sanddy Posté 28 Janvier 2009 Auteur Partager Posté 28 Janvier 2009 Je crois avoir réussi en faisant : foreach($XML_files as $file) {$racine = simplexml_load_file($file); $etude = $racine->Crpcen; foreach($racine->Crpcen as $crpcen) { foreach ($crpcen->Clef as $bi) { echo $crpcen['id']; echo " ".$bi['id']; echo "<br /><br />"; } }} Merci pour votre aide encore et bonne journée Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 28 Janvier 2009 Partager Posté 28 Janvier 2009 Supprime la ligne $etude = $racine->Crpcen; elle force le script à n'utiliser qu'un seul élément. Lien vers le commentaire Partager sur d’autres sites More sharing options...
sanddy Posté 28 Janvier 2009 Auteur Partager Posté 28 Janvier 2009 Décidément, merci encore et encore Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant