Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1515 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu][PHP] lecture d'objet XML en php

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu][PHP] lecture d'objet XML en php

n°1942501
hutarios
Posté le 19-11-2009 à 17:45:28  profilanswer
 

J'ai besoin de récupérer des infos dans un fichier xml  
 
fichier 2.xml : c'est une liste de produits avec si existant la/les valeurs "M_Prod_ID" et "EAN_UPC" associées, le fichier est très volumineux.

......
</file>
<file Product_ID="367665" Supplier_id="40" Catid="89" Product_View="3358" >
  <M_Prod_ID>X645</M_Prod_ID>
  <M_Prod_ID>X645-A</M_Prod_ID>
  <EAN_UPCS>
    <EAN_UPC Value="4025518836049"/>
    <EAN_UPC Value="4025518836156"/>
  </EAN_UPCS>
</file>
<file .....


script PHP pour le traitement xml :

Code :
  1. $xml = simplexml_load_file('2.xml');
  2. $xpath = "/interface/index/file";
  3. $temp=$xml->xpath($xpath);
  4. foreach( $temp as $val ) {
  5.   $prod[id] = utf8_decode($val[Product_ID]);
  6.   $prod[cat] = utf8_decode($val[Catid]);
  7.   $prod[view] = utf8_decode($val[Product_View]);
  8. }


J'arrive à récupérer toutes les valeurs de "file" mais je n'arrive pas à accéder à "M_Prod_ID" et "EAN_UPC"
la variable $temp ligne 3 les retourne sous la forme :  

SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [Product_ID] => 367665
            [Supplier_id] => 40
            [Catid] => 89
            [Product_View] => 3358
        )
    [M_Prod_ID] => X645
    [M_Prod_ID] => X645-A
    [EAN_UPCS] => SimpleXMLElement Object
        (
            [EAN_UPC] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [Value] => 4025518836049
                            [Value] => 4025518836156
                        )
                )
        )
)


J'ai essayer plusieurs choses pour les récupérer mais sans grand succès.
Si quelqu'un peut me donner un coup de main...


Message édité par hutarios le 26-11-2009 à 14:36:11
mood
Publicité
Posté le 19-11-2009 à 17:45:28  profilanswer
 

n°1942807
Fred999
Rabat-joie
Posté le 20-11-2009 à 14:16:39  profilanswer
 

Pourrais-tu dire ce que tu as essayé ?


Message édité par Fred999 le 20-11-2009 à 14:16:49
n°1942840
dsoft
Posté le 20-11-2009 à 15:39:35  profilanswer
 

Il faudrait parcourir l'objet SimpleXMLElement de manière récursive en récupérant tous ses fils (avec la méthode children()), ensuite suivant le nom de l'élément ("M_Prod_ID" ou "EAN_UPCS" ) récupérer sa valeur (dans le cas de "M_Prod_ID" ) ou refaire un parcours (dans le cas de "EAN_UPCS" ).


---------------
www.blurk.fr
n°1944508
MEI
|DarthPingoo(tm)|
Posté le 25-11-2009 à 14:59:36  profilanswer
 

En gros :

Code :
  1. $mProdIDNodes = $val->M_Prod_ID;
  2. foreach ($mProdIDNodes as $mProdIDNode) {
  3.    $myVar = $mProdIDNode;
  4. }
  5. $EANUPCNodes = $val->$val->EAN_UPCS->EAN_UPC;
  6. foreach ($EANUPCNodes as $EANUPCNode) {
  7.    $myVar = $EANUPCNode['Value'];
  8. }


Message édité par MEI le 26-11-2009 à 15:46:38

---------------
| AMD Ryzen 9 5950X 16C/32T @ 3.4-4.9GHz - 64GB DDR4-3600 16-18-18 1T - AMD Radeon RX 5700 XT 8GB @ 2010MHz/14Gbps |
n°1944950
hutarios
Posté le 26-11-2009 à 14:34:49  profilanswer
 

merci pour vos réponses, je m'y suis penché qu'aujourd'hui et mon problème est résolu, je récupère les informations que j'ai besoin dans le fichier.  
 
 :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu][PHP] lecture d'objet XML en php

 

Sujets relatifs
[RESOLU] >>> Redirection vers une URL selon le mot de passe !Axis2 et parser XML
[Self-Résolu] Port Série (COM) et WriteFile()(résolu) Positionnement de footer
[résolu][PHP/XML] lecture de fichier XML en PHP[PHP / HTML] Afficher une image avant l'exécution d'un long script php
[RESOLU] [AS2] Chemin 
Plus de sujets relatifs à : [Résolu][PHP] lecture d'objet XML en php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR