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 :

[XML] lecture d'un fichier xml


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut [XML] lecture d'un fichier xml
    Bonjour,

    Je me permets de revernir vers vous, car maintenant j'ai un nouveau pb avec un pseudo fichier xm, dont voici une petite partie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <SERVICEPROV>
    		<POSTE>
    			<LIBELLE>EQUIPE</LIBELLE>
    			<NATURE>FtTime</NATURE>
    		</POSTE>
    		<POSTE>
    			<LIBELLE>CREW</LIBELLE>
    			<NATURE>FtTime</NATURE>
    		</POSTE>
    ---
    ----
    ---
    Je réussie bien à récupérer les valeurs, mais de façon indépendante, c'est a dire que je récupere LIBELLE et ensuite je récupère NATURE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    $SERVICEPROV = $dom->getElementsByTagName('SERVICEPROV')->item(0);
    $LIBELLESERVICEPROV = $SERVICEPROV->getElementsByTagName('LIBELLE');
    foreach($LIBELLESERVICEPROV as $LIBELLE)
    	echo $LIBELLE->firstChild->nodeValue . "<br />";  
     
    $SERVICEPROV = $dom->getElementsByTagName('SERVICEPROV')->item(0);
    $NATURESERVICEPROV = $SERVICEPROV->getElementsByTagName('NATURE');
    foreach($NATURESERVICEPROV as $NATURE)
    	echo $NATURE->firstChild->nodeValue . "<br />";
    voila ce que cela donne

    EQUIPE
    CREW
    FtTime
    FtTime
    et je voudrais pouvoir les récuperer c'est le résultat suivant :

    EQUIPE FtTime
    CREW FtTime
    je sais que vu ce que j'ai écris le résultat ne pouvais être autrement mais je ne réussie pas à récuppérer la NATURE en même temps que le LIBELLE

    pouvez-vous me dire comment le faier

    par ailleurs existe-t-il une fonction permettant de retrouver un noeud en fonction de sa valeur
    par exemple retrouver le noeud
    <SERVICEPROV>/<POSTE>/<LIBELLE>
    lorsque je rentre la valeur EQUIPE

    Cordialement
    Qays

  2. #2
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Bonjour,

    Va faire un tour ici
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    Bonjour,

    merci de votre réponse, et en fait je me suis servi de cette page pour faire ce que j'ai déja fait, mais comme indiqué je n'arrive à lire en même temps c'est à dire dans la même boucle la valeur Nature et Libelle,

    je vais comme même relire ce doc peut être que j'ai loupé un truc

    merci
    Qays

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    Bonjour,

    je me permets de revenir vers vous car vraiment je bloque

    voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $Doc = new DomDocument();
    $Doc->load('prm/file.xml');
    $messageNode = $Doc->getElementsByTagName('SERVICEPROV')->item(0);
    $messageSousNode = $messageNode->getElementsByTagName('POSTE')->item(0);
    echo 'messageNode->tagName:'.$messageSousNode->tagName. "<br />";  
    echo 'messageNode->childNodes->length:'.$messageSousNode->childNodes->length . "<br />";  
    echo 'messageNode->firstChild->nodeValue:'.$messageSousNode->firstChild->nodeValue . "<br />";
    echo 'messageNode->nextSibling->nodeValue:'.$messageSousNode->nextSibling->nodeValue . "<br />";
    echo 'messageNode->parentNode->nodeValue:'.$messageSousNode->parentNode->nodeValue . "<br />";
    echo 'messageNode->parentNode->nodeValue:'.$messageSousNode->parentNode->localName . "<br />";
    voila le fichier xml

    <SERVICEPROV>
    <POSTE>
    <LIBELLE>EQUIPE</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    <POSTE>
    <LIBELLE>CREW</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    <POSTE>
    <LIBELLE>MENAGE</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    <POSTE>
    <LIBELLE>CATERING</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    <POSTE>
    <LIBELLE>FUEL</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    <POSTE>
    <LIBELLE>BAGARV</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    <POSTE>
    <LIBELLE>BAGDEP</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    <POSTE>
    <LIBELLE>BUS</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    <POSTE>
    <LIBELLE>EMBAR</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    <POSTE>
    <LIBELLE>RECHERCHE</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    <POSTE>
    <LIBELLE>FERM</LIBELLE>
    <NATURE>FtTime</NATURE>
    </POSTE>
    </SERVICEPROV>
    et voila le résultat

    messageNode->tagNameOSTE
    messageNode->childNodes->length:5
    messageNode->firstChild->nodeValue:
    messageNode->nextSibling->nodeValue:
    messageNode->parentNode->nodeValue: EQUIPE FtTime CREW FtTime MENAGE FtTime CATERING FtTime FUEL FtTime BAGARV FtTime BAGDEP FtTime BUS FtTime EMBAR FtTime RECHERCHE FtTime FERM FtTime
    messageNode->parentNode->nodeValue:SERVICEPROV
    je ne comprend pas le 5, pourquoi firstvalue est null

    en résumé je ne comprend pas le fonctionnement



    merci de votre aide

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    bONJOUR?

    a Yest j'ai commencer à trouver des solutions

Discussions similaires

  1. Problème de lecture d'un fichier XML d'InfoPath
    Par snadus dans le forum InfoPath
    Réponses: 7
    Dernier message: 06/06/2006, 14h45
  2. Lecture d'un fichier XML de config avec Java
    Par cofy dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 31/01/2006, 15h54
  3. Problème de lecture dans un fichier xml
    Par Pyra dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2005, 00h13
  4. Probleme de lecture d'un fichier XML
    Par chleuh dans le forum Langage
    Réponses: 8
    Dernier message: 30/08/2005, 12h04
  5. [C#] [XML] Lecture d'un fichier XML => Combobox
    Par Chad`Chiwa dans le forum Windows Forms
    Réponses: 8
    Dernier message: 09/03/2005, 08h57

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