将新近更新的内容带到网站

时间:2010-11-22 07:30:06

标签: rss syndication

我的网站上可以使用哪些技术来引入每日新鲜的更新内容,例如来自着名新闻网站的新闻RSS提要,等等?

1 个答案:

答案 0 :(得分:1)

[更新 - 一般回答]

正如您已经提到的,RSS提要是获取更新新闻的最佳方式。它们易于使用,并为基于商品的数据提供标准界面。例如,CNN在http://rss.cnn.com/rss/cnn_topstories.rss处有他们的顶级车辆。使用Firefox浏览新闻网站时,如果网站有RSS源,它将在地址栏中显示RSS图标,这样可以更容易地发现源。

<小时/> 由于您将其标记为C#和ASP.Net,我将在编码方面对其进行回答。

许多新闻网站提供RSS源,这些可以与.Net 3.5中引入的SyndicationFeed类一起使用。 SyndicationFeed类支持Atom 1.0和RSS 2.0。

在我看来,消费Feed时最重要的部分是缓存它们,这样就不会为网页上的每次点击下载Feed。从哪里获取您的Feed取决于您想要的主题以及您所在的世界。

这是一个简短的例子。

// Check cache for data
IEnumerable<SyndicationItem> items = Cache["NewsFeed"] as IEnumerable<SyndicationItem>;
if (items == null)
{
    // Not in cache, go get it!
    try
    {
        SyndicationFeed news = SyndicationFeed.Load(XmlReader.Create("http://www.news.corp/feed.xml"));
        items = news.Items;
    }
    catch
    {
        items = new List<SyndicationItem>();
    }
    // Add the items to the cache
    Cache.Insert("NewsFeed", items, null, DateTime.Now.AddHours(1.0), TimeSpan.Zero);
}
// Bind your data somewhere