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] Intercepter les warning dans simplexml_load_file


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Par défaut [SimpleXML] Intercepter les warning dans simplexml_load_file
    Bonjour,

    J'utilise la fonction simplexml_load_file() pour afficher divers flux rss.
    Tout marche très bien, sauf dans quelques cas particuliers. Par exemple, dans les adresses que je donne en paramètre à la fonction, j'ai des flux de blogs wordpress. Dans le cas où l'un de ces blogs rencontre des difficultés (serveur en rade, site supprimé...), la fonction simplexml_load_file() retourne tout de même "true" mais comme le xml n'existe pas, j'ai toute sortes de warning qui s'affichent.

    Donc, question, existe-il un moyen de soit :
    - intercepter ces warnings et afficher quelque chose d'autre de plus propre.
    - verifier que pour une url donnée, il s'agit bien d'un flux rss et pas autre chose

    Merci de votre aide.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Est-ce qu'en définissant un timeout plus court ça ne pourrait pas régler en partie le problème (options de contexte fixée via libxml_set_streams_context - il y a des exemples dans la FAQ) ?

    Pour gérer les erreurs il faut aller voir du côté de l'"extension" libxml, qui définit les propriétés communes des extensions DOM et SimpleXML puisque libxml est la bibliothèque sur laquelle elles sont toutes deux basées.

    Par contre, le résultat obtenu est surprenant (c'est bien un objet SimpleXMLElement qui vous est renvoyé ?)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Par défaut
    Par contre, le résultat obtenu est surprenant (c'est bien un objet SimpleXMLElement qui vous est renvoyé ?)
    Oui, c'est bien un SimpleXMLElement que je récupère, mais après analyse le problème doit certainement venir des flux génerés par les blogs wordpress (le seul cas référencé venait de l'un d'entre eux en tout cas), car l'element avant cet aspect :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <title>Wordpress Error</title>
    ...
    En tout cas, merci pour l'indication de la bibliothèque libxml, j'ai pu supprimer les rapports de warning.

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

Discussions similaires

  1. Intercepter les objets dans un client WCF
    Par anthyme dans le forum Windows Communication Foundation
    Réponses: 10
    Dernier message: 21/07/2010, 09h03
  2. Intercepter les click dans un XLA
    Par Bevan dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/05/2008, 14h53
  3. Réponses: 5
    Dernier message: 17/04/2008, 14h45
  4. [PHP] Comment intercepter les WARNING ?
    Par spiloack dans le forum SQL
    Réponses: 0
    Dernier message: 03/09/2007, 11h08
  5. [Mingw] Corriger les warning dans les fichiers d'en-tête
    Par gege2061 dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 12/06/2007, 14h00

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