Récupérer variable tableau XML
Bonjour à tous !
Aujourd'hui, j'essaye de récupérer des données à partir d'un XML. Voici comment je procède :
Code:
$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 :
Citation:
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:
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 :
Citation:
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:
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.....