Aller au contenu

Récupérer plusieurs balises dans un fichier xml mais probleme de tableau


Sujets conseillés

Posté

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 ??

Posté

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 :

<?php
foreach($racine->Crpcen as $crpcen) {
echo $crpcen['id'];
}
?>

Posté

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

Posté

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 ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...