venez ici

Intégrer un feed RSS dans WML

Je cherchais un moyen simple d’intégrer un feed RSS dans une page WML (comme Website Meta Language et non pas le langage du WAP) et je ne trouvais rien de prêt à l’emploi. Étant donné que WML emploie perl de manière importante, je me suis dit que je pourrai écrire les quelques lignes de Perl qui vont bien. J’emploie plusieurs modules dont XML::RSS, pensez donc à l’installer au préalable (paquet libxml-rss-perl dans Debian). Découvrez le code dans la suite !

Fichier rss2html.wml :

< :
use LWP::UserAgent;
use XML::RSS;
use Encode;

sub rss2html {
        my $url = shift;
        my $count = shift || 5;

        my $ua = LWP::UserAgent->new;
        $ua->agent("MyApp/0.1 ");

        my $req = HTTP::Request->new(GET => $url);
        my $res = $ua->request($req);
        if ($res->is_success) {
                my $rss = new XML::RSS (version => '2.0');
                $rss->parse($res->content);
                print “<ol>\n”;
                foreach my $item (@{$rss->{’items’}}[0..$count-1]) {
                    my $title = encode(”iso-8859-1″, $item->{’title’});
                    print “<li><a href=\”$item->{’link’}\”>”;
                    print $title;
                    print “</a></li>\n”;
                }
                print “</ol>\n”;
        } else {
                print “Couldn’t fetch $url…\n”;
        }
}

:>

Ensuite pour intégrer un feed dans une page WML il suffit de faire :

#include "rss2html.wml"
< : rss2html('http://www.ouaza.com/wordpress/feed/', 10); :>

Le premier paramètre est l’URL du feed et le second le nombre d’éléments à reprendre.

Et voilà !

Partagez cet article / Share This

Tags:

Laisser un commentaire


Close
E-mail It