Freitag, 24. April 2009

Pear XML_RSS

Pear XML_RSS ist zwar noch nicht so richtig alpha, aber was ist das bei Pear schon?

Sehr einfach, sehr effektiv. Installation
pear install XML_RSS

dann erscheint wahrscheinlich ein Hinweis, das das ganze noch nicht stable ist und man das alpha-Paket benutzen soll. Also einfach das angegebene Paket installieren.

Dann kanns losgehen.

require_once "XML/RSS.php";
$rss =& new XML_RSS("http://www.auswaertiges-amt.de/diplo/de/Infoservice/RSS/Reisehinweise.xml");
$rss->parse();
$rssfeed = "<ul>";
foreach ($rss->getItems() as $lfd_nr => $rsseintrag)
$rssfeed .= "<li>". $rsseintrag["title"] ."</li>";
$rssfeed .= "</ul>";
echo $rssfeed;

Super. Angenommen man will nicht ständig den Feed aufrufen, weil der vielleicht langsam ist... kann man auch noch lustig mit PEAR::Cache_Lite arbeiten:


require_once 'Cache/Lite.php';
$cacheopt=array('cacheDir'=>'/tmp','lifeTime'=>(60*60),'pearErrorMode'=>CACHE_LITE_ERROR_DIE,'caching'=>true);
$cache=&new Cache_Lite($cacheopt);

if($rssobj = $cache->get('RSSAUSWAERTIGESAMT'))
$rss = unserialize($rssobj);
else
{
$rss =& new XML_RSS("http://www.auswaertiges-amt.de/diplo/de/Infoservice/RSS/Reisehinweise.xml");
$rss->parse();
$cache->save(serialize($rss),"RSSAUSWAERTIGESAMT");
}


und dann kanns weitergehen wie oben:
$rssfeed = "<ul>";
foreach ($rss->getItems() as $lfd_nr => $rsseintrag)
$rssfeed .= "<li>". $rsseintrag["title"] ."</li>";
$rssfeed .= "</ul>";
echo $rssfeed;

Keine Kommentare:

Kommentar veröffentlichen