Bonjour à tous !

Aujourd'hui, j'essaye de récupérer des données à partir d'un XML. Voici comment je procède :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
$xml = simplexml_load_file($dossier . $fichier);
Ca c'est le code qui permet d'accéder à mon xml. Pas de souci par rapport à ça.

Je fais ensuite un var_dump, pour voir si je récupère bien les données. Résultat :

object(SimpleXMLElement)#1 (1) { ["product"]=> object(SimpleXMLElement)#2 (5) { ["@attributes"]=> array(10) { ["id_product"]=> string(0) "" ["reference"]=> string(4) "MK10" ["quantity"]=> string(3) "450" ["unit"]=> string(6) "Carton" ["price"]=> string(5) "29.85" ["tax"]=> string(3) "0.2" ["stock"]=> string(4) "1024" ["active"]=> string(4) "True" ["weight"]=> string(0) "" ["volumn"]=> string(0) "" } ["description"]=> string(47) " Barquette ronde rigide + couvercle 15382 " ["tags"]=> object(SimpleXMLElement)#3 (1) { ["tag"]=> object(SimpleXMLElement)#6 (1) { ["@attributes"]=> array(2) { ["id_tag"]=> string(0) "" ["name"]=> string(13) "MICRO-ONDABLE" } } } ["attributes"]=> object(SimpleXMLElement)#4 (1) { ["attribute"]=> object(SimpleXMLElement)#6 (1) { ["@attributes"]=> array(3) { ["id_attribute"]=> string(0) "" ["name"]=> string(0) "" ["value"]=> string(0) "" } } } ["images"]=> object(SimpleXMLElement)#5 (1) { ["image"]=> object(SimpleXMLElement)#6 (1) { ["@attributes"]=> array(1) { ["id_image"]=> string(0) "" } } } } }
Ensuite pour accéder aux données je procède comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$node = $xml->children();
echo  $node[0]->description;
Ca me permet d'afficher la description sans problème. Cependant, je n'arrive pas à accéder, par exemple, à l'attribut "reference"... J'ai tout essayé, quelque chose m'échappe !!!

Je suis sûr que c'est un tout petit détail qui m'échappe !

En espérant trouver une réponse, je vous remercie d'avance !


Edit :

Quand je fais un print_r de $node[0], voici ce qu'il m'affiche :

SimpleXMLElement Object ( [@attributes] => Array ( [id_product] => [reference] => MK10 [quantity] => 450 [unit] => Carton [price] => 29.85 [tax] => 0.2 [stock] => 1024 [active] => True [weight] => [volumn] => ) [description] => Barquette ronde rigide + couvercle 15382 [tags] => SimpleXMLElement Object ( [tag] => SimpleXMLElement Object ( [@attributes] => Array ( [id_tag] => [name] => MICRO-ONDABLE ) ) ) [attributes] => SimpleXMLElement Object ( [attribute] => SimpleXMLElement Object ( [@attributes] => Array ( [id_attribute] => [name] => [value] => ) ) ) [images] => SimpleXMLElement Object ( [image] => SimpleXMLElement Object ( [@attributes] => Array ( [id_image] => ) ) ) )

Edit 2 :

Voici ce que contient le fichier XML :

Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<products>
	<product id_product='' reference='MK10' quantity='450' unit='Carton' price='29.85' tax='0.2' stock='1024' active='True' weight='' volumn='' >
		<description>
			Barquette ronde rigide + couvercle 15382
		</description>
		<tags>
			<tag id_tag='' name='MICRO-ONDABLE' />
		</tags>
		<attributes>
			<attribute id_attribute='' name='' value='' />
		</attributes>
		<images>
			<image id_image=''>
 
			</image>
		</images>
	</product>
</products>

La difficulté est de récupérer les attributs de la balise product ou tag par exemple.....