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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Parcourir arborescence XML


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 12
    Points
    12
    Par défaut [SimpleXML] Parcourir arborescence XML
    Bonjour à tous,

    Voici la trame de mon fichier XML que je désire parcourir pour stocker dans une BDD MySQL :

    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
    30
    31
    32
    <?xml version="1.0" encoding="UTF-8"?>
    <catalogue id="1472">
    <programme>vente printemps</programme>
    	<store>
    	<name>sitedevente.com</name>
    		<products> 
    			<product>
    				<event_id>62251</event_id>
    				<title>Titre du produit</title>
    				<date>3 mars 2010</date>
    				<location>
    						<name>Nom du lieu</name>
    						<city>Grenoble</city>
    						<zipCode>38000</zipCode>
    				</location>
    				<url>www.site.com</url>
    				<product_image>www.site.com/images/grenoble.jpg</product_image>
    				<price currency="€">21.5</price>
    				<category>
    					<genre>
    						<name>Vaisselle</name>
    						<id>2</id>
    					</genre>
    					<sous_genre>
    						<name>Porcelaine</name>
    						<id>16</id>
    					</sous_genre>
    				</category>
    			</product> 
    		</products>
    	</store>
    </catalogue>
    Pour l'instant je bloque et je n'arrive même pas à afficher la liste des titres de produits (title)
    Voilà ce que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $xml = simplexml_load_file('essai.xml');
    foreach ($xml->catalogue->store->products->product as $product) {
        echo "<br> - ".$product->title;
    }
    Je ne trouve pas la bonne syntaxe ou alors ce n'est pas la bonne méthode ?

    Comment également atteindre les balises <location> <name> <city> et <zipCode> ?

    Je vous remercie infiniment par avance !


  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    A priori, c'est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($xml->store->products->product as $product) {
    Puisque l'objet SimpleXML initial ($xml) correspond déjà à la racine (catalogue).

    Comment également atteindre les balises <location> <name> <city> et <zipCode> ?
    $product->location->[name|city|zipCode] ? Avec éventuellement des boucles sur les éléments qui ne sont pas seuls pour un "même niveau".

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Un immense merci !!

    Je peux désormais remplir ma base de données...

    Encore merci et bonne nuit.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    J'ai encore un petit souci pour la categorie j'ai essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $product->categorie->genre->id
    Mais à mon avis il faut faire une boucle ou autre chose...

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Ce serait déjà mieux avec category au lieu de categorie.

    Une itération ne sera nécessaire que si des éléments de même nom sont frères. Ou peuvent l'être (nombre inconnu). A moins d'avoir simplifié le fichier XML, ça n'a pas l'air d'être le cas ici.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    ...la honte !!

    pardon pour le temps perdu à me répondre... et encore merci

    pour les boucles j'ai compris le principe du coup, merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parcourir visuellement une arborescence XML
    Par fabrice91 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 04/03/2011, 08h16
  2. [JDOM] Parcourir une arborescence XML avec JDom
    Par sousou_ dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 17/08/2009, 10h38
  3. Parcourir un XML avec namespace
    Par ujoodha dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 20/04/2006, 09h21
  4. [SimpleXML] Parser un XML et en récupérer des valeurs
    Par mickael.be dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 15/04/2006, 15h08
  5. [SimpleXML] Générer un XML grâce à un formulaire (sans BDD)
    Par greg1386 dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 29/01/2006, 01h04

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