Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    février 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : février 2006
    Messages : 209
    Points : 155
    Points
    155

    Par défaut Parser flux xml avec balises sur plusieurs niveaux

    Bonjour à tous,

    Tout d'abord, je préciser que je suis sous PHP4.

    J'utilise un script pour parser un fichier xml qui fonctionne bien tant que les balises ont toutes le même parent.
    Je voudrais récupérer les données de balises et sous-balises de ce flux :
    Code :
    1
    2
    3
    4
    5
    6
    7
    <profil>
      -<item id="xxx">
         <login>nom</login>
         <age>25ans</age>
         - <location>
            <city>ville</city>
            <country>France</country>
    Comme vous le voyez, la ville est dans "location", elle-même dans "item".

    Mon code d'affichage est le suivant :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $parser = new XML_Parser();
    	$parser->xml_file = $fichier;
    	$parser->load();
    	$racine = $parser->documentElement();
    	$profils = $racine->getElementsByTagName('ITEM');
     
    	foreach($profils->tag_array as $profil)
    	{
    		$login = $profil->getDataItem(0);
    		$age = $profil->getDataItem(1);
     		$ville = $location->getDataItem(2);
            }
    J'arrive à récupérer le login et l'âge, mais pas la ville.
    Auriez-vous une piste ?
    Merci d'avance.
    Le mieux n'est pas forcément l'ennemi du bien.

  2. #2
    Expert Confirmé Avatar de Loceka
    Profil pro Tlouye Ci
    Inscrit en
    mars 2004
    Messages
    2 046
    Détails du profil
    Informations personnelles :
    Nom : Tlouye Ci

    Informations forums :
    Inscription : mars 2004
    Messages : 2 046
    Points : 3 723
    Points
    3 723

    Par défaut

    $location n'est pas défini.

  3. #3
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    février 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : février 2006
    Messages : 209
    Points : 155
    Points
    155

    Par défaut

    Citation Envoyé par Loceka Voir le message
    $location n'est pas défini.
    Oui, c'est une erreur, il fallait lire $profil.
    Ou bien garder $location en faisant une autre boucle du type :
    Code :
    foreach($locations->tag_array as $location)
    mais ça ne marche pas non plus.
    Le mieux n'est pas forcément l'ennemi du bien.

  4. #4
    Expert Confirmé Avatar de Loceka
    Profil pro Tlouye Ci
    Inscrit en
    mars 2004
    Messages
    2 046
    Détails du profil
    Informations personnelles :
    Nom : Tlouye Ci

    Informations forums :
    Inscription : mars 2004
    Messages : 2 046
    Points : 3 723
    Points
    3 723

    Par défaut

    et ça ?
    Code PHP :
    $location = $profil->getElementsByTagName('location');

    Quoi qu'il en soit, c'est plus un problème PHP que XML, tu aurais donc plus de réponses (et probablement meilleures) sur le forum PHP.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •