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] Ouvertures de XML dans foreach : failed to open stream et I/O warning : failed to load external entity


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 80
    Points : 53
    Points
    53
    Par défaut [SimpleXML] Ouvertures de XML dans foreach : failed to open stream et I/O warning : failed to load external entity
    Bonjour,

    Je souhaite faire des ouvertures multiples de fichiers XML dans une boucle et j'obtiens des warnings de type failed to open stream et I/O warning : failed to load external entity.

    Mon fichier .htaccess possède ces 2 lignes :
    SetEnv ALLOW_URL_FOPEN ON
    SetEnv ALLOW_URL_INCLUDE ON

    J'ai un premier fichier XML qui donne une liste d'objets, j'ai ensuite pour chaque objet un fichier XML qui permet d'avoir plus d'infos sur cet objet.
    J'ai besoin de ces infos complémentaires donc je fais une boucle foreach qui parcourt le premier fichier XML et qui à chaque tour de boucle ouvre un nouvel objet.

    Le premier fichier XML s'ouvre sans souci, c'est ensuite pour les autres que j'obtiens à chaque fois 2 warnings (soit au total plus de 80 warnings dans ma page...).
    Ce qui est très bizarre est que j'arrive quand même à accéder aux informations des fichiers "enfants".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $annonces = simplexml_load_file('http://www.xxx.fr/services/objet');
     
               foreach ($annonces as $annonce):
                  //$title=$annonce->title;
     
                  //test d'affichage pour le fichier listing ==> OK
                  echo "<br />".$annonce->nid;
                  /*ouverture de la fiche objet pour récupérer d'autres informations */
                  $url_xml = 'http://www.xxx.fr/services/objet/'.$annonce->nid;
                  $annoncetraitee = simplexml_load_file($url_xml);
                  echo "<br />TEST".$annoncetraitee->path;
    Je ne comprends pas tous ces warnings ? Pourquoi sont-ils présents alors que le parseur semble récupérer les infos ?
    J'ai tenté de "vider" la variable $annoncetraitee en lui affectat un "null" mais ça ne change rien.

    Merci d'avance pour vos lumières...

    cli16

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    En fait, l'affichage des informations des objets enfants ne fonctionnent que si j'ai le fichier XML en question ouvert dans mon navigateur...

    On mettant le @ devant la fonction simplexml_load_file ça m'enlève bien les warnings, mais je ne parviens pas à afficher les informations des objets enfants !

    Si quelqu'un a une idée je suis preneuse....

Discussions similaires

  1. Error: failed to load external entity
    Par jack-no dans le forum R
    Réponses: 0
    Dernier message: 08/10/2014, 11h32
  2. Réponses: 12
    Dernier message: 31/07/2014, 23h09
  3. [SimpleXML] Failed to load external entity
    Par naviguimmo dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 12/09/2013, 13h59
  4. Réponses: 3
    Dernier message: 10/04/2012, 15h07
  5. [SimpleXML] Erreur "failed to load external entity"
    Par seb92500 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 04/02/2007, 09h27

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