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] Filtrer l'affichage d'un XML


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Par défaut [SimpleXML] Filtrer l'affichage d'un XML
    Bonjour,

    je lis un fichier xml de la 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <item>
    	<informations>
    		<presentation>
    			<nom>Blabla</nom>
    			<departement>01</departement>
    		</presentation>
    	</informations>
    </item>
     
    <item>
    	<informations>
    		<presentation>
    			<nom>Blublu</nom>
    			<departement>02</departement>
    		</presentation>
    	</informations>
    </item>
     
    <item>
    	<informations>
    		<presentation>
    			<nom>Blablabla</nom>
    			<departement>03</departement>
    		</presentation>
    	</informations>
    </item>
    de cette manière:

    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
    22
    23
    24
    25
    <table>
    <?php
     
    // localisation du fichier
    $mon_fichier = '/home/toto/tableau.xml';
     
    // test de présence du fichier
    if (file_exists('$mon_fichier')) {
        $xml = simplexml_load_file('$mon_fichier');
     
    // on commence à lire les informations
    foreach ($informations->presentation as $item) { 
      echo '<tr>
    		<td>'.$item->nom.'</td>
    		<td>'.$item->departement.'</td></tr>
    ';
    }
     
    // print_r($xml);
     
    } else {
        exit('Echec lors de l\'ouverture du fichier XML.');
    }
    ?>
    </table>
    Je voudrais n'afficher que les items ayant pour département 01 et 02, comment faire?


    a++

  2. #2
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    Dans ta boucle foreach tu peux mettre une condition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        foreach() {
            Si cp != 02 ou cp != 01 {
                continue;
            }
            Sinon {
                On affiche le résultat
            }
        }
    Ca doit etre un truc du genre...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Par défaut
    simplexml prend les xml ET rss non?

    ++

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Par défaut
    Re,

    J'arrive à joindre mon fichier mais malgrés un code minimaliste:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <table>
     
    <?php
     
     
     
    // localisation du fichier
     
    $mon_fichier = 'tableau.xml';
     
     
    // test de présence du fichier
     
    if (file_exists($mon_fichier)) {
     
        $xml = simplexml_load_file($mon_fichier);
     
     
     
    // on commence à lire les informations
     
    foreach ($informations->localisation as $item) {
    echo '<tr><td>'.$item->pays.'</td>';
    }
     
    }
     
    ?>
     
    </table>
    J'obtiens toujours une erreur Invalid argument supplied for foreach()

    Qu'es-ce qui ne va pas?

    ++

  5. #5
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    la variable $informations n'existe pas dans ton code

    pour accéder aux données tu peux faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        $xml = simplexml_load_file($mon_fichier);
     
        echo '<table>';
     
        foreach ($xml->channel->item as $item) {
            echo "<tr><td>{$item->informations->localisation->ville}</td></tr>";
        }
     
        echo '</table>';

Discussions similaires

  1. [MySQL] Liste déroulante pour filtrer l'affichage de données
    Par creatchy dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 17/11/2006, 15h31
  2. [SimpleXML] Filtrer des balises grâce à leurs attributs
    Par tatayecorp dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 15/08/2006, 20h06
  3. [SimpleXML] Configuration de php5 pour le XML
    Par hom dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 21/07/2006, 19h52
  4. probleme d'affichage de données XML avec XSL
    Par sundjata dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 08/06/2006, 18h59
  5. Affichage d'un XML chargé par SOAP
    Par glanumf dans le forum ASP
    Réponses: 3
    Dernier message: 12/04/2005, 11h27

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