IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Recuperer les attributs d'une balise XML


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Recuperer les attributs d'une balise XML
    Bonjour,

    Le script suivant doit le permettre de récupérer les différentes information contenue dans un fichier XML. Cependant je n'arrive pas à récupérer le zupid de ma balise <product>.



    Voici un exemple de mon fichier XML:
    Code : 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
    19
    20
    <?xml version="1.0" encoding="utf-8" ?> 
    - <products xmlns="http://zanox.com/productdata/exportservice/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://zanox.com/productdata/exportservice/v1 http://productdata.zanox.com/exportservice/schema/export-1.0.xsd">
    - <product zupid="dcf89e09794cbfe39efab5fe12436de8">
      <name>Adaptateur secteur allume cigare, Airis</name> 
      <program>1783</program> 
      <number>ds10000003</number> 
      <longDescription>Adaptateur secteur allume cigare, Airis</longDescription> 
      <manufacturer>AIRIS</manufacturer> 
      <price>14.95</price> 
      <terms>n</terms> 
      <shippingHandlingCost>0.00</shippingHandlingCost> 
      <lastModified>2010-08-09T10:38:00</lastModified> 
      <smallImage>http://s2.static69.com/m/image-offre/1/7/1/8/171875b99e21a6282544356ab5b98631-60x60.jpg</smallImage> 
      <mediumImage>http://s1.static69.com/m/image-offre/1/7/1/8/171875b99e21a6282544356ab5b98631-200x200.jpg</mediumImage> 
      <deliveryTime>en stock</deliveryTime> 
      <currencyCode>EUR</currencyCode> 
      <extra1>0.00</extra1> 
      <merchantCategory>PHOTOVIDEO / Adaptateur secteur & allume-cigare</merchantCategory> 
      <deepLink>http://ad.zanox.com/ppc/?15383903C357536930&ULP=[[photovideo&rubrique=wn_adsec&ref=ds10000003&origine=aff]]</deepLink> 
      </product>

    et voici mon Script:

    Code : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    $xml = new XMLReader();
          $xml->open('http://productdata.zanox.com/exportservice/v1/rest/15383903C357536930.xml?ticket=6BC791472561713FF023A266542E92402F9010F91C3B3B403233D4911D275D41&gZipCompress=null');
    	while($xml->read()){
    		 //on identifie les noeud
    		if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == "product") {
                  $product = $xml->expand();
    	      //on déroule les information contenu à l'interieur des noeuds
                  $product = new SimpleXMLElement ('<product>' . $xml->readInnerXML() . '</product>');
     
    //on recupere les varibale qui nous interesses
    $zupid = $product->attributes()->zupid;
    	     var_dump($zupid);
     
    			  $prod['nom'] = utf8_decode(str_replace("'","‘" ,$product->name));
    			  $prod['des'] = utf8_decode(str_replace("'","‘" ,$product->longDescription));
    			  $prod['manufacturer'] = utf8_decode(str_replace("'","‘" ,$product->manufacturer));
    			  $prod['sImage'] = utf8_decode($product->smallImage); 
    			  $prod['mImage'] = utf8_decode($product->mediumImage);
    			  $prod['cat'] = utf8_decode (str_replace("'","‘" ,$product->merchantCategory));
    			  $prod['price'] = utf8_decode (str_replace("'","‘" ,$product->price));
    			  $prod['terms'] = utf8_decode (str_replace("'","‘" ,$product->terms));
    			  $prod['shippingHandlingCost'] = utf8_decode($product->shippingHandlingCost);
    			  $prod['deliveryTime'] = utf8_decode($product->deliveryTime);
    			  $prod['currency'] = utf8_decode($product->currencyCode);
    			  $prod['deepLink'] = utf8_decode($product->deepLink);
     
    		}
    	}

    Ma variable $zupid me retourne Null et je ne comprend pas pourquoi.

    J'ai essayé pas mal de script trouver à droite à gauche que je ne comprenais pas toujours sans succès.

    Si vous une piste pour m'éclairer ce serais super sympa.

    Merci beaucoup

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    et un var_dump((string)$zupid); ça donne quoi?

  3. #3
    Membre averti Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Points : 300
    Points
    300
    Par défaut
    Ben tu écrases l'attribut puis tu veux le récupérer !!!

    Essaye avec ce code :

    Code : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    $xml = new XMLReader();
          $xml->open('http://productdata.zanox.com/exportservice/v1/rest/15383903C357536930.xml?ticket=6BC791472561713FF023A266542E92402F9010F91C3B3B403233D4911D275D41&gZipCompress=null');
    	while($xml->read()){
    		 //on identifie les noeud
    		if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == "product") {
                  $product = $xml->expand();
                  $zupid = $product->attributes->getNamedItem('zupid')->value;
    	      //on déroule les information contenu à l'interieur des noeuds
                  $product = new SimpleXMLElement ('<product>' . $xml->readInnerXML() . '</product>');
     
    //on recupere les varibale qui nous interesses
     
    	     var_dump($zupid);
     
    			  $prod['nom'] = utf8_decode(str_replace("'","‘" ,$product->name));
    			  $prod['des'] = utf8_decode(str_replace("'","‘" ,$product->longDescription));
    			  $prod['manufacturer'] = utf8_decode(str_replace("'","‘" ,$product->manufacturer));
    			  $prod['sImage'] = utf8_decode($product->smallImage); 
    			  $prod['mImage'] = utf8_decode($product->mediumImage);
    			  $prod['cat'] = utf8_decode (str_replace("'","‘" ,$product->merchantCategory));
    			  $prod['price'] = utf8_decode (str_replace("'","‘" ,$product->price));
    			  $prod['terms'] = utf8_decode (str_replace("'","‘" ,$product->terms));
    			  $prod['shippingHandlingCost'] = utf8_decode($product->shippingHandlingCost);
    			  $prod['deliveryTime'] = utf8_decode($product->deliveryTime);
    			  $prod['currency'] = utf8_decode($product->currencyCode);
    			  $prod['deepLink'] = utf8_decode($product->deepLink);
     
    		}
    	}

Discussions similaires

  1. [WD16] Afficher les attributs d'une balise XML
    Par bombseb dans le forum WinDev
    Réponses: 8
    Dernier message: 01/03/2012, 15h43
  2. Affichage des attributs d'une balise XML
    Par derfez dans le forum Linq
    Réponses: 4
    Dernier message: 07/07/2010, 14h06
  3. Positionnement sur un attribut d'une balise XML
    Par sironimo dans le forum C#
    Réponses: 8
    Dernier message: 09/04/2010, 14h04
  4. Xquery - Sortir les élements d'une balise XML
    Par faraway dans le forum Développement
    Réponses: 5
    Dernier message: 02/09/2009, 12h32
  5. Avoir tous les attributs d'une balise
    Par Nulenprogra dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/10/2007, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo