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] Lecture content:encoded ?


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
    Mai 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 101
    Par défaut [SimpleXML] Lecture content:encoded ?
    Hello,

    Besoin d'un peu d'aide, je dois lire un flux rss (origine : wordpress) structuré de cette façon :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
    	<channel>
    		<title>XXX - Newsfeed</title>
    		<link>http://www.xxx.com</link>
    		<description>The Newsfeed of XXX</description>
    		<lastBuildDate>Mon, 05 Oct 2009 15:21:12 +0000</lastBuildDate>
    		<generator>XXX</generator>
    		<sy:updatePeriod>hourly</sy:updatePeriod>
    		<sy:updateFrequency>1</sy:updateFrequency>
    		<item>
    			<title>Titre de la news</title>
    			<pubDate>Mon, 05 Oct 2009 13:40:57 +0000</pubDate>
    			<author>admin</author>
       			<content:encoded><![CDATA[<p>Ici le contenu</p>]]></content:encoded>
    		</item>
    	</channel>
    </rss>
    Avec SimpleXML (que je connais assez peu), j'arrive à lire les items et la plupart des éléments internes, sauf ce qu'il y a dans <content:encoded>

    J'ai cru lire sur certains sites en anglais que SimpleXML n'arrivait pas à parser cet élément. De quel façon du coup je peut récupérer ce qu'il y a dans cette balise ?

    Merci d'avance

  2. #2
    Invité de passage
    Inscrit en
    Octobre 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 1
    Par défaut
    2 problèmes se posent en fait : les namespaces définis et le fait d'avoir un noeud avec CDATA.

    Voilà comment faire : (fonctionne avec PHP>5.1 et libxml>2.6)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $xml= new SimpleXMLElement($string,LIBXML_NOCDATA);
    $ns=$xml->getNamespaces(true);
     
    foreach($xml->channel->item as $item){
    	$title=(string) $item->title;
    	$pudDate=(string) $item->pubDate;
    	$author=(string) $item->author;
    	$content=(string) $item->children($ns['content']);
    }
    Petite explication : il faut utiliser l'option LIBXML_NOCDATA pour convertir les noeuds CDATA en texte simple et utiliser les namespaces définis pour récupérer le noeud "content".

    L'article en anglais qui explique ça très bien : http://blog.stuartherbert.com/php/20...rse-rss-feeds/

    Bon courage

Discussions similaires

  1. [SimpleXML] Lecture d'un document XML
    Par shivka dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 31/10/2007, 21h12
  2. [SimpleXML] Lecture des attribus d'un XML
    Par tetardo dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 18/04/2007, 13h25
  3. [SimpleXML] lecture d'un fichier xml
    Par Raideman dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 12/04/2007, 19h03
  4. Lecture fichier encodé Unicode
    Par iuchiban dans le forum Ruby
    Réponses: 1
    Dernier message: 29/03/2007, 15h33
  5. [SimpleXML] Lecture d'un fichier pour une intégration dans une BDD
    Par nerick dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 07/11/2006, 15h40

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