想为我的Perl生成的RSS提要中的项添加图像/缩略图

时间:2013-01-19 18:43:54

标签: perl rss

我使用Perl sript来执行各种自动化功能,并且我正在使用XML :: RSS创建日志输出的RSS提要。我使用RSS2.0作为源,因为XML :: RSS创建的默认1.0无法正常工作。

将图像添加到整个Feed的顶部似乎相当简单。但我想做的是为每个项目添加一个图像(或一个小缩略图)(绿色刻度/红色十字)。 RSS标准表明这应该使用<media:thumbnail><Media:content>标签来完成,但我无法弄清楚如何使用XML :: RSS模块实现这一点。

有没有人有任何想法。我的Feed更新程序目前看起来像这样。

my $rss = new XML::RSS (version => '2.0');
$rss->parsefile($localFeed) or die;
pop(@{$rss->{'items'}}) if (@{$rss->{'items'}} == 15);
$rss->add_item(title => "$_[0]",
    description  => "$_[1]",
    pubDate => "$dtString",
    mode  => 'insert'
);
$rss->save($localFeed);

由于

1 个答案:

答案 0 :(得分:1)

好的,我会在描述我最终是如何解决它的时候。我不确定这是否是最佳方式,但它似乎有效。我无耻地从另一个互联网帖子中撕掉了这个,但是不能为我的生活记住那些遗憾的地方我不能在应有的地方给予信任。

我在parse命令之前使用以下语句添加了“media”模块:

$rss->add_module(prefix=>'media', uri=>"http://search.yahoo.com/mrss");
$rss->parsefile($myFeed) or die("could not parse feed");

现在,我的add item语句可以包含以下语法,XML :: RSS只会将其添加到Feed中而无需投诉

$rss->add_item(
title => "My Title",
    description  => "This describes what the item is about",
    pubDate => "2012-12-012, 13:13 GMT",
    media => {
        thumbnail => {
            width => "66",
            height => "49",
            url => "path/to/my/image.jpg",
            type => 'image/jpeg'
        }
    },
    mode  => 'insert'
);

不要忘记

$rss->save($myFeed);

语句。现在我只需要找到一个体面的浏览器和移动RSS阅读器,它实际上将显示媒体:缩略图标签作为图像

希望这有助于其他人尝试取得类似结果。