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

XML/XSL et SOAP Discussion :

[PHP] Récupérer les données d'un XML


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 104
    Par défaut [PHP] Récupérer les données d'un XML
    Bonjour à tous,
    Je tiens à vous dire que je suis un novice en xml donc excuser mes questions et autres incompréhensions
    Je souhaite récupérer les données d'un xml pour les insérer dans une base de données mysql par la suite.
    Mon problème c'est que je n'arrive pas récupérer une partie des données de mon xml que voici

    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
    33
    34
    35
    <?xml version='1.0' encoding='windows-1252'?>
    <annonces>
    	<annonce>
    		<client>OPTIMHOME</client>
    		<reference>123456</reference>
    		<titre>APPARTEMENT A ARGENTEUIL</titre>
    		<texte>(95) ARGENTEUIL –  F4 LUMINEUX (BAIES VITREES) ET FONCTIONNEL, COMPOSE DE : ENTREE, SEJOUR, CUIS EQUIP INDEPENDANTE, 3 CHAMBRES, 2 DRESSING, PLACE DE PARKING PRIVEE, GARDIEN, INTERPHONE. ECOLES, GARE ET COMMERCES SUR PLACE. A DECOUVRIR : CONTACTER LYES AGENT MANDATAIRE 95 AU</texte>
    		<date_saisie>09/11/2008</date_saisie>
    		<photos>
    		<photo>http://www.optimhome.com/images/upload/biens/A-abdly-1010365413-P.jpg</photo>
    		<photo>http://www.optimhome.com/images/upload/biens/A-abdly-1010365413-P.jpg</photo>
    		<photo>http://www.optimhome.com/images/upload/biens/A-abdly-1010365413-P.jpg</photo>
    		<photo>http://www.optimhome.com/images/upload/biens/A-abdly-1010365413-P.jpg</photo>
    		<photo>http://www.optimhome.com/images/upload/biens/A-abdly-1010365413-P.jpg</photo>
    		<photo>http://www.optimhome.com/images/upload/biens/A-abdly-1010365413-P.jpg</photo>
    		</photos>
    		<agence> 
    		<telAgence>06 34 00 55 23</telAgence>
    		<emailAgence>test@optimhome.com</emailAgence> 
    		<nomAgence>Agent mandataire Optimhome Test</nomAgence>
    		</agence> 	 
    		<bien>
    		<code_type>APPARTEMENT</code_type>
    		<code_postal>95100</code_postal>
    		<ville>ARGENTEUIL</ville>
    		<code_insee approximatif='false'></code_insee>
    		<surface>130</surface>
    		<nb_pieces>4</nb_pieces>
    		<prix>235000</prix>
    		</bien>
    		<prestation>
    		<type>VENTE</type>
    		</prestation>
    	</annonce>
    </annonces>

    voici mon code php pour récupérer les données
    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
    <?php
    $optimhome_xml = simplexml_load_file('exemple.xml');
    foreach ($optimhome_xml ->annonce as $annonce) {
    	 print "Client: {$annonce->client} <br />\n";
    	 print "Référence: {$annonce->reference} <br />\n";
    	 print "Titre: {$annonce->titre} <br />\n";
    	 print "Texte: {$annonce->texte} <br />\n";
    	 print "Date: {$annonce->date_saisie} <br />\n";
    	 print "Photos: {$annonce->photos} <br />\n";
    	 print "Photo Path: {$photos->photo} <br />\n";
    	 print "Agence: {$annonce->agence} <br />\n";
    	 print "Tel Agence: {$annonce->telAgence} <br />\n";
    	 print "Email Agence: {$annonce->emailAgence} <br />\n";
    	 print "Nom Agence: {$annonce->nomAgence} <br />\n";
    	 print "Bien: {$annonce->bien} <br />\n";
    	 print "Code Type: {$annonce->code_type} <br />\n";
    	 print "Code Postal: {$annonce->code_postal} <br />\n";
    	  print "Ville: {$annonce->ville} <br />\n";
    	 print "Surface: {$annonce->surface} <br />\n";
    	  print "Nombre de pièces: {$annonce->nb_pieces} <br />\n";
    	 print "Prix: {$annonce->prix} <br />\n";
    	  print "Prestation: {$annonce->prestation} <br />\n";
    	 print "Type: {$annonce->type} <br />\n";
        }
     
    ?>
    Je ne récupère plus les données après <date_saisie></date_saisie>.

    Il faudrait que je passe plusieurs paramètres dans le foreach je pense j'ai cherché la syntaxe que je n'ai pas trouvé sans mettre plusieurs paramètres je pensais que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($optimhome_xml ->photos as $photos)
    aurait pu me donner accès aux données <photo></photo> mais sans succès.

    Tous vos conseils sont les bienvenus, je vous remercie d'avance.

  2. #2
    Membre expérimenté

    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
    Par défaut
    Il y a des chemins qui sont incomplets/faux :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	 print "Tel Agence: {$annonce->agence->telAgence} <br />\n";
    	 print "Email Agence: {$annonce->agence->emailAgence} <br />\n";
    	 print "Nom Agence: {$annonce->agence->nomAgence} <br />\n";
     
    	 print "Code Type: {$annonce->bien->code_type} <br />\n";
    	 print "Code Postal: {$annonce->bien->code_postal} <br />\n";
    	  print "Ville: {$annonce->bien->ville} <br />\n";
    	 print "Surface: {$annonce->bien->surface} <br />\n";
    	  print "Nombre de pièces: {$annonce->bien->nb_pieces} <br />\n";
    	 print "Prix: {$annonce->bien->prix} <br />\n";
     
    	 print "Type: {$annonce->prestation->type} <br />\n";

    Quant à l'itération, ne serait-ce pas :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($optimhome_xml->photos->photo as $photos)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 104
    Par défaut
    merci beaucoup mon problème est résolu.

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

Discussions similaires

  1. [XML] Récupérer les données d'un fichier XML sur URL avec php
    Par ValooWart dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 01/03/2013, 16h40
  2. Récupérer les données d'un xml externe
    Par ricozor dans le forum ASP
    Réponses: 4
    Dernier message: 23/01/2009, 20h08
  3. Réponses: 4
    Dernier message: 30/03/2007, 18h42
  4. Réponses: 3
    Dernier message: 14/03/2007, 15h30
  5. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39

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