什么是RSS Really Simple Syndication
目前的版本是RSS2.0版。一个RSS文件就是一段规范的XML数据,该文件一般以rss,xml或者rdf作为后缀。
RSS 2.0的代码样例:
<xml version="1.0"> XML版本和字符集
<rss version="2.0"> RSS版本
<channel> 频道总体信息开始,每个频道至少必须包含Title,Description,Link,Language
<tltle>我的博客</title>
<description>我写的博客文章</description>
<link>http://www.++.com/++</link>
<language>zh-cn</language>
<item> 频道总体信息结束,每条RSS新闻(项)开始,item节点,每个项至少包含titlel,ink,description
<title>春泥<title>
<link>http://www.++.com/++/++/++.aspx</link>
<description>春泥这首歌是庾澄庆唱的...</description>
</item> 一条item结束
<item> 又一条item开始
<title>搁浅<title>
<link>http://www.++.com/++/++/++.aspx</link>
<description>搁浅这首歌是周杰伦唱的...</description>
</item>
</channel>
</rss>
具体到博客系统,如果使用的RSS是整个博客的,频道就是整个博客,项就是这个博客下的文章,如果使用的RSS是一个博客的某个类别,频道就是这个类别,项就是这个类别下的文章。
在ASP.NET中给自己的网站加上RSS功能可以用到微软提供的程序集RssToolkit.dll,该程序集提供了两个控件:RssDataSource和RssHyperLink。
利用RssDataSource实现Rss阅读器:
这里使用了DataList作为数据绑定控件,在用RssDataSource作为数据源控件后,只要使用DataList的编辑模板列就能很好的控制样式,aspx代码参考如下图
利用GenericRssChannel类实现Rss阅读器:
这里使用了DataList作为数据绑定控件,在后置代码中使用了GenericRssChannel类实例的SelectItems()方法的返回值作为数据源,aspx代码参考如下图
由于是在后置代码中为数据绑定控件提供数据源,所以设计时Eval()所绑定的rss文件中项的节点名要自己手动编写。
cs代码参考如下图
注意引入RssToolkit及GenericRssChannel rss=GenericRssChannel.LoadChannel()的写法,没有new关键字
利用RssHyperLink控件为站点提供RSS订阅功能:
先添加一个"一般处理程序"文件,此文件的类直接或间接继承自IHttpHandler接口,用来完成各种文件的转换,并让web应用程序识别这些文件。
ashx参考代码如下两图:
然后将RssHyperLink的NavigateUrl属性值指向该一般处理文件
aspx参考代码如下图: