Parser un rss avec simplexml

Soyez le premier à donner votre avis sur cette source.

Snippet vu 27 336 fois - Téléchargée 32 fois

Contenu du snippet

Utilisation de SimpleXML pour parser un RSS.
En 15 lignes de code vous avez un parser opérationnel.

Source / Exemple :


<?php
class RSSDisplay {
	public $fichierRss;
	
	function __construct($fichierRss) {
		$this->fichierRss = $fichierRss;
		$xml = simplexml_load_file($fichierRss);
		echo '<ul>';
		foreach($xml->channel->item as $news) {
			echo '<li><a href="'.$news->link.'">', utf8_decode((string) $news->title), '</a></li>';
		}
		echo '</ul>';
	}
}
?>

Conclusion :


Amusez-vous bien ;-)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
lundi 25 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2008

J'ai exactement le même problème que JMB60 à savoir : j'affiche très bien certains flux rss en localhost (wamp 5) et une fois le script online (héberger chez free qui accepte le php5) j'ai une erreur.

Alors que pour d'autre flux rss, tout fonctionne très bien, que ce soit offline ou online.

voici le flux qui pose problème (tous ceux provenant de Jeuxvideo.com en fait)

http://www.jeuxvideo.com/rss/rss-news.xml

Si quelqu'un comprend le problème ?? Merci d'avance
Messages postés
1
Date d'inscription
vendredi 11 juillet 2008
Statut
Membre
Dernière intervention
11 juillet 2008

Bonjour,
J'ai utilisé ce type de procédure: cela marche très bien en adressant plusieurs flux de sites différents, ... sauf une chose curieuse
Je l'ai appliqué à Google :
http://news.google.fr/nwshp?hl=fr&tab=wn&output=rss

Cela marche très bien en localhost, mais sur mon site externe: erreurs:
Cela donne:
"Warning: simplexml_load_file() [function.simplexml-load-file]: http://news.google.fr/nwshp?hl=fr&&tab=wn&&output=rss:20: parser error : Opening and ending tag mismatch: meta line 4 and head in /...."
Alors que pour les autres adresses ( leparisien par ex) cela marche impec.
Où est le mystère?
jim
Messages postés
296
Date d'inscription
lundi 2 septembre 2002
Statut
Membre
Dernière intervention
28 janvier 2008

Justement, lastRSS est une petite classe PHP qui integre un systeme de cache :o)

Au passage, en exclu, pour les besoins du site de "Y! Messenger Plus", j'ai amélioré lastRSS pour corriger des erreurs (notamment avec le Cache), prendre en charge la rupture temporaire d'un flux, et ajouter des options notamment un systeme pour fusionner ET filtrer/trier plusieurs sources... Il sera publié prochainement dans notre SDK sous le nom mYLastRSS.
Plus d'infos sur mon blog :
http://blog.360.yahoo.com/blog-FfAVOG01brY4lJgFOIoLXam9c8Pg?p=23
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
C'est pas un truc lourdingue ça ? parce qu'il suffit de faire un petit système de cache pour ne pas avoir à faire n requêtes (n correspondant au nombre de rafraîchissements de la page...)
Messages postés
296
Date d'inscription
lundi 2 septembre 2002
Statut
Membre
Dernière intervention
28 janvier 2008

si vous voulez pas vous faire insulter par le Webmaster d'un flux qui constate des centaines de requete par PHP vers son RSS, utilisez lastRSS (en GPL)
Afficher les 16 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.