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

EDI, CMS, Outils, Scripts et API PHP Discussion :

flux xml en php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut flux xml en php
    Bonjour à tous,

    Je posséde un fichier xml donc je dois afficher son contenu sur la home d'un site.
    Le problème, je ne sais pas comment m'y prendre donc j'imagine je dois analysé adresse xml puis le parser mais comment je peux faire ca avec le language php?
    Existe-il un tutoriel expliquant comment faire?

    merci pour vos aides,

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Le plus simple est d'utiliser SimpleXML.
    Tu trouveras des exemples dans la doc PHP http://fr.php.net/simplexml
    N'hésite pas si tu as des questions

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    hello,

    J'ai développé une fonction qui me permet de lire et afficher à partir d'un fichier xml. Mon problème vient d'un foreach qui ne veux pas s'afficher, une erreur invalid argument. si quelqu'un avait déja résolu ce probléme

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     
    <?php
     
    function lit_xml($fichier,$item,$champs) {
       // on lit le fichier
       if($chaine = @implode("",@file($fichier))) {
          // on explode sur <item>
          // Dans l'exemple il s'agit de 'profil'
          $tmp = preg_split("/<\/?".$item.">/",$chaine);
          // pour chaque <item> donc tous les profils
          for($i=1;$i<sizeof($tmp)-1;$i+=2)
             // on lit les champs demandés <champ> 
             foreach($champs as $champ) {
                $tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
                // on ajoute l'élément au tableau
                $tmp3[$i-1][] = @$tmp2[1];
             }
          // et on retourne le tableau dans la fonction
          return $tmp3;
       }
    }
     
    // Lecture du FLUX XML sur le serveur
    $xml = lit_xml("http://","champ",array("champ1","champ2","champ3"));
     
    // Une petite boucle suffit pour retrouver les élément du tableau
    // retourné dans la fonction lit_xml()
     
    foreach($xml as $row) {// ici lz probléme argument invalid
    echo("<div style=\"background-image:url('img/ranking/bg_top5.gif');\"");
    	echo ("<table><tr>");
      echo ("<td><a href=\"$row[2]\"><img src=\"$row[0]\"></a></td>");
     
      echo ("<td style=\"color:#FFFFFF;font-weight:bold;\" ><a href=\"$row[2]\">$row[1]</a></td>");
      echo ("</div>");
     
      }
     
     
    ?>
    merci de m'aidé s'il vous plait :)

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Re,
    Commence par enlever les @ qui cachent les erreurs
    Pourquoi ne pas utiliser les API XML telles SimpleXML ou DOM ??

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut
    pcq, je n'ai pas reussi a voir comment implémenté
    les erreur suivante sont:
    Warning: file() [function.file]: php_network_getaddresses: getaddrinfo failed: Name or service not known in.....

    qqn pourrais m'expliqué comment résoudre le problème?
    merci d'avance

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par samspitz Voir le message
    pcq, je n'ai pas reussi a voir comment implémenté
    Bon, si tu me dis exactement ce dont tu as besoin et que cela ne nécessite pas trop de travail je pourrais te montrer comment faire.

    les erreur suivante sont:
    Warning: file() [function.file]: php_network_getaddresses: getaddrinfo failed: Name or service not known in.....
    Voilà, c'est file( ) qui échoue et effectivement, en y regardant de plus près tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $xml = lit_xml("http://","champ",array("champ1","champ2","champ3"));
    = Tu veux ouvrir le fichier http:// qui bien évidemment n'existe pas

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

Discussions similaires

  1. Parseur de flux xml (en php)
    Par missmiss89 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 07/07/2011, 21h01
  2. Parseur de flux xml (en php)
    Par missmiss89 dans le forum Langage
    Réponses: 1
    Dernier message: 07/07/2011, 17h22
  3. [PHP 4] Récupérer le contenu d'un flux XML en PHP
    Par Tony36 dans le forum Langage
    Réponses: 9
    Dernier message: 24/08/2010, 17h23
  4. aide parser flux xml en php
    Par calitom dans le forum Langage
    Réponses: 4
    Dernier message: 15/05/2009, 10h28
  5. Renvoyer un flux XML AJAX - PHP
    Par sliderman dans le forum Langage
    Réponses: 2
    Dernier message: 03/01/2008, 14h25

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