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] Problème PHP5/XML pour des affichages particuliers


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Par défaut [SimpleXML] Problème PHP5/XML pour des affichages particuliers
    Bonjour,
    Je fais des affichages en php5 à partir d'un fichier XML. Je visualise bien les valeurs du fichier grâce au SimpleXMl, c'est plutot pratique d'ailleurs.
    Par contre il y a de petites choses que je ne saisis pas :

    - je n'arrive pas à faire appliquer de nombreuses fonctions tableau php aux valeurs de variable XMl qui sont sensées être stockées dans un tableau : Par exemple pour afficher aléatoirement des titres de livres} (ça ne fonctionne pas!):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $data = simplexml_load_file('http://blabla.xml'); 
    foreach ($data->livre as $livre) 
    { 
        $pic = $livre->name; 
        $rand_livre = array_rand ($pic , 3); 
        for ($i=0; $i<=2; $i++) 
        {
            echo $rand_livre[$i]; 
        } 
    }
    - et les répercussions sont que je ne peux pas non plus calculer le nombre total de résultats ou le nombre de valeurs pour un type de données XML (ex: le nombre de titre de livre du fichier)...

    Quelqu'un saurait -il d'ou vient mon erreur ? Merci par avance.
    Vanilla.

  2. #2
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Bonjour,

    Si tu povais nous donner un peu de détails sur le fichier xml ou au moins un petit bout pour voir la structure.

    Sinon dans le code, il y a un truc qui me semble bizarre.

    Tu parcours tous les noeuds livre du fichier xml via un foreach.

    Ensuite tu prends le nom tu livre et tu fais un array_rand dessus, cela me semble bizarre car le nom ne doit pas etre un tableau ??

    Avec un bout du xml, on devrait s'en sortir un peu mieux

    Pierre

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Par défaut
    Bonjour

    Voici un bout du fichier xml :
    Code XML : 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
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    <biblio>
      <livre>
        <id>1932ab</id> 
        <chapitre>10</chapitre> 
        <name>Histoire naturelle</name> 
        <auteur>inconnu</auteur> 
        <categorie>Sciences naturelles</categorie> 
        <Nom_chapitre>
          <chapitre>Introduction</chapitre>
          <chapitre>Les especes</chapitre> 
          <chapitre>La faune</chapitre>
          <chapitre>La flore</chapitre> 
        </Nom_chapitre>
      </livre>
      <livre>
        <id>1933c</id> 
        <chapitre>22</chapitre> 
        <name>Hostoires extraordianires</name> 
        <auteur>Edgar A Poe</auteur> 
        <categorie>Roman</categorie> 
        <Nom_chapitre>
          <chapitre>blabla</chapitre>
          <chapitre>Les personnages</chapitre> 
          <chapitre>Blibli</chapitre>
          <chapitre>Post</chapitre> 
        </Nom_chapitre>
      </livre>
    </biblio>

    Pour ce qui te parait bizare, c'est en effet là ou je coince. je n'arrive pas à accéder à l'ensemble des résultats : à mettre toutes les valeurs dans une variable tableau pour travailler dessus!!!

    Merci, à très bientôt.

  4. #4
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Si tu veux recuperer tous les noms des livres, tu peux utiliser la fonction xpath() qui peut te retourner tous les élements correspondants à la recherche plus d'infos dans la doc

    Pierre

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Par défaut
    je veux en récupérer que certains (par exemple aléatoirement) car tous avec simple xml et foreach ça marche très bien. et j'aimerais aussi savoir combien j'ai de livres dans le fichier xml.

  6. #6
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    C'est pour cela que je te parle de xpath()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nom_livre = $data->xpath('//livre/name');

    Avec ca tu as un tableau avec tous les noms des livres. libre à toi ensuite de faire un random dessus

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

Discussions similaires

  1. [AJAX] Réponse XML pour autocomplétion
    Par Benzz dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/08/2007, 15h33
  2. Réponses: 1
    Dernier message: 26/06/2007, 09h08
  3. [VB 6.0] - problème avec Datagrid pour l'affichage de valeurs
    Par jimbololo dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/04/2007, 09h57
  4. Quel parseur XML pour des Strings ?
    Par krokmitaine dans le forum XML
    Réponses: 13
    Dernier message: 19/12/2006, 21h01
  5. Problème de format pour des chiffres à virgule
    Par bob75000 dans le forum Access
    Réponses: 5
    Dernier message: 21/07/2006, 10h42

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