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

XQUERY/SGBD XML Discussion :

XML->Aide as $debutant


Sujet :

XQUERY/SGBD XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut XML->Aide as $debutant
    Salut. Je débute totalement avec XML, j'ai longtemps repoussé ce moment fatidique mais pour divers projets je ne peux plus.

    J'ai dans le principe compris et réussi à parser des données, mais je bloque sur l'exploitation d'un type de format.

    J'ai un XML du type (je l'ai simplifié mais gardé la structure) :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <Backslash>
    <bien>
    	<mprixeuro>39600</mprixeuro>
    	<mprix>39600</mprix>
    	<qchambres>3</qchambres>
    	<qpieces>4</qpieces>
    	<qsurfhab>80</qsurfhab>
    	<lcp>46210</lcp>
    	<llocalite><![CDATA[NOMDEVILLE]]></llocalite>
    	<sfilenamephoto1>nomdephoto.jpg</sfilenamephoto1>
    	<photo>
    		<nphoto>21596</nphoto>
    		<lshortdescfr><![CDATA[Q480801A]]></lshortdescfr>
    		<sfilename>100066p21596.jpg</sfilename>
    		<nwidth>454</nwidth>
    		<nheight>303</nheight>
    		<nangle></nangle>
    		<nordre>1</nordre>
    	</photo>
    	<photo>
    		<nphoto>21591</nphoto>
    		<lshortdescfr><![CDATA[Q480801B]]></lshortdescfr>
    		<sfilename>03gildc100066p21591.jpg</sfilename>
    		<nwidth>454</nwidth>
    		<nheight>303</nheight>
    		<nangle></nangle>
    		<nordre>2</nordre>
    	</photo>
    	<biendesc>
    		<clangue>fr</clangue>
    		<ltypmeta><![CDATA[Appartements]]></ltypmeta>
    		<lnaturebien><![CDATA[Résidentiel]]></lnaturebien>
    		<lenvironnement><![CDATA[Bourg]]></lenvironnement>
    		<lstyle><![CDATA[Traditionnel]]></lstyle>
    		<ltypmandat><![CDATA[Biens AV]]></ltypmandat>
    		<letat><![CDATA[A rafraîchir]]></letat>
    		<lchauf><![CDATA[Electricité]]></lchauf>
    		<ltypcuisine><![CDATA[Aménagée]]></ltypcuisine>
    		<ltyp><![CDATA[Appartement]]></ltyp>
    		<ltitre><![CDATA[Appartement de 80 m²]]></ltitre>
    		<lannonce><![CDATA[Annonce description du bien]]></lannonce>
    	</biendesc>
    	<biendesc>
    		<clangue>nl</clangue>
    		<ltypmeta><![CDATA[Appartements]]></ltypmeta>
    		<lnaturebien><![CDATA[Residentieel]]></lnaturebien>
    		<ltypmandat><![CDATA[Verkoop]]></ltypmandat>
    		<letat><![CDATA[Normaal]]></letat>
    		<lchauf><![CDATA[Electriciteit]]></lchauf>
    	</biendesc>
    </bien>
    </Backslash>
    Mon premier questionnement concerne l'exploitation des donnée correspondants à la France, soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <biendesc>
    		<clangue>fr</clangue>
    Et à déjà je bloque !!

    Voilà comment je m'y prend (basic) en php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php 
    $rss = 'fichier.xml'; 
    $xml = @simplexml_load_file($rss); 
     
    foreach ($xml->bien->biendesc as $monproduit) {  
     
    echo '<p style="text-align: justify">'.utf8_decode($monproduit->ltypmeta).'';
    echo '</p>'; 
     
    ?>
    Avec ça ... ça me liste le résultat pour chaque Pays !! et je ne trouve pas la solution !

    Merci de votre aide ! J'espère que quand j'aurais compris ça, le reste sera plus simple, car je dois parser tout le contenu, enfin à terme surtout tout envoyer dans une bdd mysql, tout mettre à jour quotidiennement etc !!!! (j'en sue déjà d'avance) ... Sinon je vais devoir passer du temps ici

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Oups ... j'aurais du me creuser un peu la tête avant, il en va du php finalement !
    Je m'en suis sorti comme ça ! Par contre je ne sais pas si c'est du code correct pour l'interprétation de gros fichiers xml ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach ($xml->bien->biendesc as $monproduit) {  
    $pays = utf8_decode($monproduit->clangue);
     
    if ($pays==fr) {
     
    echo '<p style="text-align: justify">'.utf8_decode($monproduit->lregion).'';
    echo '</p>'; 
    }
    }
    Bon ... il faut que je trouve le temps d'un peu plus lire les tutos ça m'évitera de poser des questions à côté de la plaque. Ceci dit le chantier reste colossale pour moi !!!

    PS EDIT : Preuve en est !! Finalement ça ne me retourne pas tout (je fisais les tests sur un fichier avec un seul élément !!)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Re ... Quitte à passer pour le gars qui parle tout seul je vais tout de même faire le point, on sait jamais si ça peut servir. Je m'en suis enfin sorti en comprenant les foreach imbriqués !!!
    Donc pour en arriver à mon besoin voilà le code utilisé

    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
     
     
    <?php 
    $rss = 'fichierc.xml'; 
    $xml = @simplexml_load_file($rss); 
     
     
    foreach ($xml->bien as $monproduit => $value) {  
     
    foreach ($value->biendesc as $produit)   { 
    $pays = utf8_decode($produit->clangue);
    if ($pays==fr) {
    echo '<p style="text-align: justify">'.utf8_decode($produit->ltypmeta).'';
    echo '</p>'; 
     
    }
    }
     
     
    }
    ?>

Discussions similaires

  1. Besoin d'aide pour debutant
    Par patatrac13500@free.f dans le forum C
    Réponses: 25
    Dernier message: 13/04/2007, 12h26
  2. [Oracle] Aide pour debuter
    Par cyberbalby dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/03/2007, 13h36
  3. aide pour debutant en perl
    Par donny dans le forum Langage
    Réponses: 3
    Dernier message: 30/08/2006, 18h13
  4. Réponses: 1
    Dernier message: 20/05/2006, 11h46
  5. aide programme debutant
    Par mator dans le forum C
    Réponses: 5
    Dernier message: 20/04/2006, 19h30

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