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大全
文章分类
最新评论