Bonjour,
je travaille sur une fonction permettant de récupérer les informations d'un fichier xml issue d'un logiciel de gestion immobiliere.
J'arrive a récupérer les informations de chaque <bien> : balises <INFO_GENERALES>, <LOCATION>, <COMMENTAIRES> mais impossible de récupérer celle de la balise <IMAGES>.

je fais par exemple :
(out.xml étant mon fichier xml)

$bien_xml = simplexml_load_file('out.xml');
foreach ($bien_xml ->BIEN as $bien)
{
foreach ($bien ->INFO_GENERALES as $info_generales)
{
$bilan_energie=$info_generales->DPE;
$lettre_DPE=$info_generales->ETIQUETTE_DPE;
$bilan_ges=$info_generales->GES;
$lettre_GES=$info_generales->ETIQUETTE_GES;
}
}
mais ce code ne fonctionne pas avec la balise <IMAGES>

$bien_xml = simplexml_load_file('out.xml');
foreach ($bien_xml ->BIEN as $bien)
{
foreach ($bien ->IMAGES as $images)
{
$image1=$images->IMG;
}
}
J'ai essayé "25 000" fonctions , écritures différentes mais la je sèche.
Si quelqu'un a une idée pour arriver à récupérer ces informations de la balise <IMAGES> je suis preneur !!!
Merci d'avance pour votre aide.

Fichier xml :

<TRANSFERT origine="test" version="1.0">
<AGENCE>
<ADH_NUM>0000</ADH_NUM>
</AGENCE>
<BIEN>
<INFO_GENERALES>
<DATE_CREATION>06/09/2014</DATE_CREATION>
<DPE>171</DPE>
<GES>40</GES>
</INFO_GENERALES>
<LOCATION>
<LOYER>605.0</LOYER>
<CHARGES>40.0</CHARGES>
</LOCATION>
<COMMENTAIRES>
<FR>
Maison de Village,3 chambres, cuisine indép, séjour double, garage, terrasse
</FR>
</COMMENTAIRES>
<IMAGES>
<IMG commentaire=" " nom="Bonnefoy_001-2425114264697699170" num="1"/>
<IMG commentaire=" " nom="Bonnefoy_004-6665160424564331754" num="2"/>
<IMG commentaire=" " nom="Bonnefoy_006-454098675351774718" num="3"/>
<IMG commentaire=" " nom="Bonnefoy_007-5755141714415793325" num="4"/>
</IMAGES>
</BIEN>
</TRANSFERT>
Bonjour.

Pense à utiliser la colorisation syntaxique sur le code que tu copies, et puis l'indentation aussi pourrait aider.

Est-il censé y avoir plusieurs <IMAGES> dans <BIEN> si ce n'est pas le cas ton deuxième foreach devrait être foreach ($bien ->IMAGES->IMG as $images), non ?
Sinon, dans tous les cas, il te manque un foreach sur tes <IMG> je pense.
Salut

alors en effet il te manque le foreach sur la balise image que tu devrais positionner comme ton foreach pouir les infos générales...

ensuite tes infos d'images sont les attributs du noeuds Smiley smile

les attributs sont en général en array et pas en objets Smiley smile

IMAGES->IMG['nom'] <- te donnera le nom de l'image Smiley smile
Merci à tous les 2 !!!
Grace a vos infos, j'ai trouvé ma solution et je peux récupérer les différentes infos de chaque balise <IMAGES> contenue dans chaque <BIEN>.
Voici le code que j'utilise :
$bien_xml = simplexml_load_file('out.xml');
foreach ($bien_xml ->BIEN as $bien)
	{
	foreach ($bien ->IMAGES as $images)
		{
		foreach ($images ->IMG as $images2)
			{
			$nom_image=$images2['nom'];
			print"-".$nom_image."-<br />";
			}
		}
	}