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] Passer au noeud suivant


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Inscrit en
    Novembre 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 29
    Par défaut [SimpleXML] Passer au noeud suivant
    Bonsoir,

    Je parse un code Xml que m'envoie google maps; et je n'arrive qu'à récuperer le premier élement ( je n'ai pas trouver comment passer au suivant )
    Chaque addresse est contenue dans un Placemark, auquel est accosié un Id.
    J'arrive jusqu'ici à afficher l'id 1 avec ce code:

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $xml = new SimpleXMLElement($bada);
     
       // Retrieve the desired XML node
       echo $xml->Response->Placemark->Point->coordinates;
       echo $xml->Response->Placemark->AddressDetails;

    Et le fichier XML:

    Code XML : 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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <kml><Response>
    <name>38410</name><Status>
    <code>200</code>
    <request>geocode</request>
    </Status><Placemark id="p1">
    <address>38410 Los Realejos, Spain</address><AddressDetails Accuracy="5"><Country>
    <CountryNameCode>ES</CountryNameCode><AdministrativeArea>
    <AdministrativeAreaName>Islas Canarias</AdministrativeAreaName><SubAdministrativeArea>
    <SubAdministrativeAreaName>Santa Cruz de Tenerife</SubAdministrativeAreaName><Locality>
    <LocalityName>Los Realejos</LocalityName><PostalCode>
    <PostalCodeNumber>38410</PostalCodeNumber>
    </PostalCode>
    </Locality>
    </SubAdministrativeArea>
    </AdministrativeArea>
    </Country>
    </AddressDetails><Point>
    <coordinates>-16.589290,28.349758,0</coordinates>
    </Point>
    </Placemark><Placemark id="p2">
    <address>38410 Chamrousse, France</address><AddressDetails Accuracy="5"><Country>
    <CountryNameCode>FR</CountryNameCode><AdministrativeArea>
    <AdministrativeAreaName>Rhône-Alpes</AdministrativeAreaName><SubAdministrativeArea>
    <SubAdministrativeAreaName>Isère</SubAdministrativeAreaName><Locality>
    <LocalityName>Chamrousse</LocalityName><PostalCode>
    <PostalCodeNumber>38410</PostalCodeNumber>
    </PostalCode>
    </Locality>
    </SubAdministrativeArea>
    </AdministrativeArea>
    </Country>
    </AddressDetails><Point>
    <coordinates>5.854158,45.139350,0</coordinates>
    </Point>
    </Placemark>
    </Response>
    </kml>

  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
    Utilisez une boucle foreach :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $xml = new SimpleXMLElement($bada);
    foreach ($xml->Response->Placemark as $pm) {
        echo $pm->Point->coordinates;
        echo '<br />';
        echo $pm->AddressDetails;
        echo '<br />';
    }
    Ou l'"indexation", par exemple pour utiliser directement le deuxième élément Placemark :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       echo $xml->Response->Placemark[1]->Point->coordinates;
       echo $xml->Response->Placemark[1]->AddressDetails;
    Mais tout ceci est très bien expliqué dans la documentation.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 29
    Par défaut
    Milles mercis et encore excusez moi, je débarque sur le php et je ne connaissais pas ce site qui est apparement une référence!

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 02/02/2007, 16h00
  2. [Tableaux] Passer à l'élément suivant
    Par cyrill.gremaud dans le forum Langage
    Réponses: 2
    Dernier message: 13/09/2006, 10h31
  3. Sous-Formulaire : Passer à l'enregistrement suivant
    Par snoopy69 dans le forum Access
    Réponses: 4
    Dernier message: 27/04/2006, 13h22
  4. Etat : comment passer à la page suivante
    Par Celia1303 dans le forum Access
    Réponses: 2
    Dernier message: 26/10/2005, 16h45
  5. XSLT > Acceder un élement du noeud suivant
    Par soize dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/01/2005, 15h33

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