波斯马BOSSMA Information Technology

开源RSS类库:RSS.NET

发布时间:2011年2月14日 / 分类:DOTNET / 8,708 次浏览 / 评论

RSS.NET主要提供了RSS的读写功能。这个类库的历史已经很久远了,貌似2002年就已经出现了,但是它兼容的RSS版本包括0.90, 0.91, 0.92,以及2.0.1,对于一般使用已经完全足够了。

貌似最新版本的源代码个人已经不能免费获取,但是我们仍旧可以通过下边的地址下载到这个开源版本:

http://www.rssdotnet.com/RSS.NET.tar.gz

或者从我这里下载(项目已经升级到VS2010)。

这个版本的版权说明几乎没有任何限制,只需要保留作者的版权注释就可以随便使用,甚至包括分发销售。

关于RSS标准,可以从这里查看:http://cyber.law.harvard.edu/rss/rss.html

下边看看怎么使用:

1、读取RSS:

读取我的博客RSS数据源,然后将获取到的数据绑定到Repeater:

??????????? try
??????????? {
??????????????? string feedURL = "https://blog.bossma.cn/feed/";
??????????????? RssFeed feed = RssFeed.Read(feedURL);
??????????????? Repeater1.DataSource = feed.Channels[0].Items;
??????????????? Repeater1.DataBind();
??????????? }
??????????? catch
??????????? {
??????????? }

在Repeater中一条条的显示RssItem:

<h3>
??????????????????????? 博客热点</h3>
??????????????????? <ul>
??????????????????????? <asp:Repeater ID="Repeater1" runat="server">
??????????????????????????? <ItemTemplate>
??????????????????????????????? <li><span>
??????????????????????????????????? <%# Convert.ToDateTime(Eval("pubDate")).ToString("yyyy-MM-dd") %></span><a href='<%# Eval("link") %>' target="_blank" title='<%# Eval("title") %>'><%# Eval("title") %></a></li>
??????????????????????????? </ItemTemplate>
??????????????????????? </asp:Repeater>
??????????????????? </ul>

实际效果查看这里:http://www.bossma.cn/

2、编写RSS:

string feedURL = "https://blog.bossma.cn/feed/";
??????????? RssFeed feed = RssFeed.Read(feedURL);
??????????? RssItemCollection blogCollection = feed.Channels[0].Items;

??????????? //创建频道
??????????? RssChannel blogChannel = new RssChannel();
??????????? blogChannel.Title = "博客热点";
??????????? blogChannel.Link = new Uri("https://blog.bossma.cn/feed/");
??????????? blogChannel.Description = "博客热点,技术博客";

??????????? //偷个懒,就不一个个写了
??????????? foreach (RssItem item in blogCollection)
??????????? {
??????????????? blogChannel.Items.Add(item);
??????????? }

??????????? //构建RSS并输出
??????????? RssFeed newFeed = new RssFeed(System.Text.Encoding.UTF8);
??????????? newFeed.Channels.Add(blogChannel);
??????????? using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
??????????? {
??????????????? newFeed.Write(stream);
??????????????? Response.Write(System.Text.Encoding.UTF8.GetString(stream.ToArray()));
??????????? }
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《开源RSS类库:RSS.NET

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

发表评论