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] Récupération noeuds frères


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 12
    Points
    12
    Par défaut [SimpleXML] Récupération noeuds frères
    Bonjour.



    Je dois parser un fichier xml qui contient plusieurs éléments tel que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <List><id>D15</id><com>1</com><p>10</p><img>logo.png</img<name>monnom</name></List>

    Je souhaite récupérer les valeurs de toute les balises dont la balise name=mon nom


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $xml = new SimpleXMLElement($monxml);
     
    $results = $xml->xpath('//List/name[. ="monnom"]'); 
                        foreach ($results as $result) {
     
    	//comment recupérer ici la valeur de id,com,img??					 
     
     
                             }
    ou


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    foreach ($xml->List as $result) {
      if ($result->name == "monnom") {
    	   echo  $result->name;
              echo  $result->id; // me renvoit toujours le 1er id de la premiere ligne??
    	   break;
     
      }
    }

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    On peut le faire comme ça.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $xml = new SimpleXMLElement($monxml);
    $results = $xml->xpath('//List[name="monnom"]'); 
    foreach ($results as $result) {
        echo 'id : ',$result->id,"\n";
        echo 'com : ',$result->com,"\n";
        echo 'p : ',$result->p,"\n";
        echo 'img : ',$result->img,"\n";
        echo "\n";
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 12
    Points
    12
    Par défaut
    Merci pour la réponse.

    J’avais trouvé via

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $results = $xml->xpath('//List[name="monnom"]/preceding-sibling ::*');
    Quelle est la solution la plus rapide selon vous dans le cas d'un fichier de petite taille?

  4. #4
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    J’avais trouvé via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $results = $xml->xpath('//List[name="monnom"]/preceding-sibling ::*');
    Non, je ne pense pas.

Discussions similaires

  1. [SimpleXML] Récupération données flux xml
    Par antitrust56 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 22/11/2007, 14h08
  2. [SimpleXML] Récupération données de XML vers une table MySQL
    Par emmma dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 29/06/2007, 18h28
  3. [XPath] noeud frère précédent ou ...
    Par diaboloche dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 10/02/2007, 23h45
  4. [SimpleXML] Récupération des données XML
    Par squalito dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/05/2006, 14h22
  5. Test sur le noeud frère suivant (XSLT, XPath)
    Par rprom1 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/02/2006, 16h04

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