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
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论