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] sac de noeuds


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par défaut [SimpleXML] sac de noeuds
    j'ai un fichier xml qui a cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <FICHE>
       <NOM>toto</NOM>
       <HORAIRES>
          <horaire>
             <debut>01/01/1970</debut>
             <fin>01/01/1970</fin>
          </horaire>
          <horaire>
             <debut>08/01/1970</debut>
             <fin>08/01/1970</fin>
          </horaire>
       </HORAIRES>
    </FICHE>
    chaque "FICHE" peut avoir un ou plusieurs "horaire" (mais contenus dans un seul "HORAIRES")

    Je recrée un tableau, qui devra par la suite être retrié par date.
    Mais je bloque sur la récupération du nom
    j'ai donc fait un début qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach($xml->xpath('//Horaire') as $horaire) {
       $manif['date_debut'] = $horaire->debut;
       $manif['date_fin'] = $horaire->fin;
       $manif['nom'] = ????
    }
    je ne sais pas quoi mettre pour récupérer le NOM. j'ai essayé avec des xpath divers et variés : '../../', 'preceding::NOM', 'ancestor::NOM' ...
    je cale.

    merci pour votre aide

  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
    D'après ce qui est dit de votre structure XML, pourquoi ne pas faire comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sxml = simplexml_load_file('mon_fichier.xml');
    # ...
    foreach ($sxml->HORAIRES->horaire as $h) {
       $manif['date_debut'] = $h->debut;
       $manif['date_fin'] = $h->fin;
       $manif['nom'] = $sxml->NOM;
    }

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par défaut
    j'avais essayé aussi cette méthode, mais dans ce cas la boucle s'arrête à la première FICHE
    alors qu'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach($xml->FICHE as $fiche) {
       echo $fiche->NOM;
    }
    m'affichera bien tous les NOM
    et une boucle imbriquée ne fonctionne pas non plus

    en passant par le xpath, j'avais par contre bien toutes les dates, mais je n'arrive pas à "remonter" le noeud pour y chercher le NOM

    EDIT : ah ben si, la version imbriquée fonctionne. me suis plantée dans l'écriture de la boucle
    merci bien en tout cas

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

Discussions similaires

  1. [SimpleXML] Ajouter un noeud avec addchild en premier
    Par Nillak dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 11/05/2008, 00h09
  2. [SimpleXML] Passer au noeud suivant
    Par About dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 04/09/2007, 19h12
  3. [SimpleXML] vérifier existence noeud
    Par speedev dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/08/2007, 17h36
  4. [AJAX] Firstchild, Childnodes et sac de noeuds
    Par cedsun dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/06/2007, 12h55
  5. Maven sac de noeuds
    Par veneto dans le forum Maven
    Réponses: 5
    Dernier message: 04/05/2006, 13h13

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