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

Langage PHP Discussion :

Extraire une seule donnée avec SimpleXML [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut Extraire une seule donnée avec SimpleXML
    Bonjour,

    J'ai fais le code suivant pour extraire une seule donnée d'un fichier XML :

    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
     
    if($_SESSION['web_lang'] == 'fr')
    {
    $url_pays = $_SERVER['DOCUMENT_ROOT'].'/xml/iso_3166-1_list_fr.xml';
    }                      
    else if($_SESSION['web_lang'] != 'fr')
    {
    $url_pays = $_SERVER['DOCUMENT_ROOT'].'/xml/iso_3166-1_list_en.xml';
    } 
     
    // charger le fichier des codes pays
     
    $xml_pays = simplexml_load_file($url_pays);
     
    foreach($xml_pays->ISO_3166_1_Entry as $item)
    {
        if(mb_strtolower(utf8_decode($item->ISO_3166_1_Alpha_2_code)) == $_SESSION['web_user_pays'])
        {
            $pays = mb_strtolower(utf8_decode($item->ISO_3166_1_Country_name));
        }
    }
    Juste par perfection (car ce code fonctionne), n'y a-t-il pas une méthode plus simple que de parcourir tout le fichier ?
    Merci

  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 777
    Points
    17 777
    Par défaut
    Non, un accès direct n'est pas possible ici (réalisé uniquement sur le nom de l'élément et non son contenu). Sinon, il y a aussi XPath éventuellement (qui sera équivalent).

    Mais n'y a-t-il pas besoin de quitter l'itération lorsque la valeur recherchée a été trouvée ?

  3. #3
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    oui autant pour moi je vais mettre un break...
    bon ok merci

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

Discussions similaires

  1. Extraire une seule et même donnée chaque ligne SQL / PHP
    Par rrebiard dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 14/01/2015, 21h37
  2. faire une seule table avec plusieurs table
    Par bossboss dans le forum Access
    Réponses: 4
    Dernier message: 08/01/2007, 16h11
  3. plusieurs COUNT sur une seule table avec conditions différentes
    Par dingoth dans le forum Administration
    Réponses: 9
    Dernier message: 20/12/2006, 10h13
  4. [MySQL] Remplir plusieurs lignes d'une seule table avec le même formulaire
    Par zehni dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/09/2006, 12h12
  5. Plusieures infos sur une seule ligne avec ou sans tableau
    Par Him dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/03/2006, 14h16

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