---------http://book.csdn.net/bookfiles/305/10030512723.shtml
前面学习了Ajax中关键的基本技术,本章将根据前面所学的知识,开发一个目前比较流行的阅读器-RSS阅读器。同时详细介绍了网络上RSS文档的基本结构。在开发RSS阅读器时,使用Ajax和ASP.NET结合的方式,即提高了开发速度,也提高了安全度。本章的讲解流程如图12-1所示。
图12-1 开发RSS阅读器的流程
12.1 认识RSS
RSS是目前比较流行的一种订阅格式,越来越多的网站提供RSS服务,以提高用户和网站数据之间的交互。本节将详细介绍RSS的定义及RSS的元素及格式。
12.1.1 RSS简介
RSS(Really Simple Syndication)是一种描述和同步网站内容的XML格式。RSS的中文可以有多个解释:如简单同步技术、RDF站点摘要等。通常被用于新闻和其它按时间先后顺序排列的网站,例如Blog。
RSS频道订阅技术,源于几年前的网站新闻频道功能,现在一个RSS包含很多新闻条目,一个新闻条目的介绍可能包含新闻的全部介绍,也可能只是额外的内容和简短的介绍。这些条目通常都能链接到全部的内容。网络用户可以在自己的客户端,借助于支持RSS的新闻聚合工具软件(大部分网站都免费提供),在不打开网站内容页面的情况下,阅读支持RSS输出的网站内容。
从网络上,也可以下载很多功能比较全的RSS订阅软件,这些软件提供很多关注度很高的网站地址,不需要用户自己添加,不同领域的网址都有,方便了用户的快速订阅和查看。
12.1.2 RSS的作用
对于网络用户来说,使用RSS订阅器,可以不用一个个去打开网站,也知道网站内容更新了什么。而且使用这种阅读器阅读新闻的感觉,就像是在阅读电子邮件,因为它突出新闻项并将新闻项进行缓冲处理以便离线阅读。目前RSS主要应用于:
l 订阅Blog。网络用户可以订阅自己感兴趣的文章,还可以追踪自己阅读过的weblogs。
l 订阅新闻。此功能已经从IE4开始就提供,不过使用基于XML格式的RSS技术将使订阅功能变得更简单。
12.1.3 RSS的标准格式
既然要求RSS阅读器能读取网络上存在的RSS,那么RSS一定具有统一的标准,否则就无法统一订阅,由于RSS属于XML的一种,所以网络上所有的RSS文档都遵循XML 1.0规范。为了更方便的应用RSS样式,RSS提供了标准的元素以及这些元素的表现形式,这就是最新的RSS 2.0样本。目前所有网站提供的订阅功能,都支持RSS 2.0版本。样本地址可参考“http://cyber.law.harvard.edu/blogs/gems/tech/rss2sample.xml”。
RSS 2.0究竟包括哪些元素呢,本节以从外到内的顺序剖析RSS的内容。代码清单12-1是一个简单的RSS文件,通过了解这段代码来认识RSS的结构。
代码清单12-1 简单的RSS文件格式
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
<channel>
<title>championchen的专栏 - asp.net基础特性</title>
<link>http://blog.csdn.net/championchen79/category/197094.aspx</link>
<description>主要是asp.net一些基础的概念东西和优点</description>
<item>
<dc:creator>血海无崖</dc:creator>
<title>membership在vs2005中的应用-Role(二)</title>
<link>http://blog.csdn.net/championchen79/archive/2006/05/12/725624.aspx</link>
<pubDate>Fri, 12 May 2006 10:26:00 GMT</pubDate>
<description>看看memberrole中role的使用。角色管理以后不发愁了。
</item>
</channel>
通过以上代码可以看出,RSS文件主要有组节点:rss、channel和item。其中rss节点表示执行的RSS标准的命名空间;channel节点表示在Blog或新闻组中的一个类别,通常被译为频道;item节点是用户要查看的主要信息,其中包括信息的标题、信息内容的链接地址、信息的发布时间等等。
了解了RSS 2.0的基本组成后,现在来认识channel节点内的主要元素。表12-1列出的是RSS 2.0定义的channel中的标准元素及说明,其中前三个元素属于必选项。
表12-1 channel中的元素及说明
元素名称 | 说明 |
title | 频道的名称 |
link | 频道对于网站的链接地址 |
description | 对频道的描述信息 |
language | 频道使用的语言 |
copyright | 频道的一些版权声明,或免责信息 |
managingEditor | 管理频道的人的相关信息 |
webMaste | 页面主管的人的相关信息。(对于网站而言) |
pubDate | 频道的创建日期 |
lastBuildDate | 频道的最后修改日期 |
image | 频道中的图像信息 |
注意:由于篇幅问题,本表中并没有给出全部的channel元素,读者可参考网址“http://cyber.law.harvard.edu/blogs/gems/tech/rss2sample.xml”。
表12-2罗列的是RSS2.0定义的item内的标准元素及说明。
表12-2 item内的元素及说明
元素名称 | 说明 |
title | 内容信息的标题 |
link | 内容信息的链接地址 |
description | 内容信息的简单描述 |
author | 编辑内容的作者 |
category | 内容信息的类别 |
comments | 评论内容的相关信息 |
guid | 内容唯一的标识 |
pubDate | 内容的发布日期 |
source | 内容的来源 |
12.1.4 RSS的工作原理
RSS阅读工具的工作原理如图12-2所示。
图12-2 工作原理图