知识大全 Asp.Net 建立一个在线 RSS 新闻聚合器
Posted 元素
篇首语:笛里谁知壮士心,沙头空照征人骨。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Asp.Net 建立一个在线 RSS 新闻聚合器相关的知识,希望对你有一定的参考价值。
Asp.Net 建立一个在线 RSS 新闻聚合器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
概要
本文讲解了如何使用XMLWeb控件获取远程XML数据并在ASP NET页面显示这些XML数据 以及使用Repeater控件发布数据库中的XML数据 在过去的几年间 随着异构平台间共享数据的需求不断增长 XML的使用也呈爆炸性增长 意识到这种趋势 微软在整个 NET框架中对XML提供了健壮的支持 这意味着 对于ASP NET开发者来说 在Web页面中显示和处理XML数据从来没有这么容易过 本文将通过生成一个RSS 聚合引擎和在线新闻聚合器来学习XML和ASP NET技术 本文假设读者熟悉ASP NET和XML
目录
简介 使用RSS 规范的聚合内容 通过ASP NET页面输出聚合内容 在ASP NET页面中使用聚合摘要 显示聚合摘要列表 显示特定聚合摘要的新闻项 显示特定新闻项的详细内容 未来的扩展和当前程序的缺点 总结
简介
随着办公室和家庭上网在线时间的延长 以及Web站点和可访问的互联网应用程序呈持续爆炸性增长 应用程序之间能数据共享变得越来越重要 在异构平台之间共享数据需要一种平台中立的数据格式 这种数据格式要求能易于通过标准的互联网协议来传输 而这正是XML的用武之地 因为XML文件本质上只是一个文本文件 其编码格式众所周知 而且现有的XML解析器能为所有主流编程语言所用 所以XML数据能被任何平台轻松使用 Web网站聚合就是一种使用XML来共享数据的范例 在新闻站点和网志中经常可以看到 采用Web网站聚合技术 网站能以XML格式的Web可访问的聚合文件来发布最新内容 网站使用的聚合格式有很多种 其中最流行的一种格式就是RSS (RSS 规范被发布在HarvardLaw网站的技术栏目上) 此外 MSDN杂志有一个聚合文件 MSDN杂志 本期刊物 其中列出了最新一期MSDN杂志上的文章 包括到在线版本文章的链接 一旦Web站点有了公开发布聚合文件 那么不同的客户端就可以消费它 消费聚合文件的方式有很多种 比如 某个提供 NET技术资源的站点可能希望在网站中添加最新的MSDN杂志文章标题 聚合文件还常常被新闻聚合器程序所用 这种程序被专门设计用来获取和显示不同来源的聚合文件 随着人们越来越注重使用XML数据 在ASP NET页面中处理XML数据的能力变得比以往更关键 既然Web站点聚合如此重要 本文我们就来创建一个Web站点聚合文件生成程序和一个在线新闻聚合器 在建立这两个微型程序的过程中 我们将讲述如何访问和显示XML数据 不论这些数据是来自远端的Web服务器还是本地的文件系统 我们将演示如何多种不同的方法显示XML数据 比如 用Repeater控件以及用ASP NETXMLWeb控件 因为这只是一篇小文章 不可能长篇大论 我会假设读者您熟悉XSLT和XPath 如果您不熟悉 建议在看这篇文章之前先访问以下资源
FAQ:WhatisXSLTandHowDoesitRelatetoXML XSLTutorial XPathTutorial 使用RSS 规范的聚合内容 本文我们将要创建的第一个微型程序是一个聚合文件生成器 针对这个迷你程序 假设你是一个大型新闻网站(如)的Web开发者 所有的新闻内容都保存在MicrosoftSQLServer 数据库中 具体地说 这些文章是都保存在一个名为Articles的表中 表中以下字段与我们的程序密切相关
ArticleID—主键 自增长的整型字段 用来唯一标识每一篇文章 Title—指定标题 字段数据类型 varchar( ) Author—指定作者 字段数据类型 varchar( ) Description—新闻内容描述 字段数据类型 varchar( ) DatePublished—新闻发布日期 字段数据类型 datetime 请注意 Articles表中可能还有其它字段 上面所列的只是我们在创建聚合文件的时候所要用到的字段 而且 这只是一个非常简单的数据模型 在是应用的数据库环境中 你可能会使用更加标准化的数据库模型 比如具备一个单独的authors(作者)表 有一个建立作者和文章之间多对多关系的表等等 下一步 我们将创建一个ASP NET页面 用格式化好的RSS XML文件显示一个最新的新闻列表 在讲述如何在ASP NET页面中完成这种转换之前 我们要先介绍一下RSS 规范的内容 我们应该记住 在整个规范中 RSS是被设计用来为聚合内容提供一个数据模型 那么毫无疑问 它会有一系列的XML元素 用来描述Web站点要聚合的内容信息 以及一系列用来描述某一特定新闻项的XML元素 最后 不要忘记RSS聚合文件是一个XML格式文件 必须符合XML格式化的准则 也就是
所有XML元素必须正确嵌套 所有的属性值要用引号包含起来 < > & 和 符号要相应地替换为< > & 和' 而且 XML格式是大小写敏感的 这就意味着 XML元素的起始和终止标签必须匹配 拼写和大小写都必须一致 RSS 的根元素是< rss>元素 这个元素可以有一个版本号的属性 例如
< rssversion= > < /rss>
< rss>元素只有一个子元素< channel> 用来描述聚合的内容 在< channel>元素里面有三个必需的子元素 用来描述Web站点的信息 这三个元素是
title—定义聚合文件的名称 一般来说 还会包括Web站点的名称 link—Web站点的URL description—Web站点的一段简短的描述 除此之外 还有一些可选元素来描述站点信息 这些元素的更多信息请参见RSS 规范
每一个新闻项目放在一个单独的< item>元素中 < channel>元素可以有任意数量的< item>元素 每个< item>元素可以有多种的子元素 唯一的要求是最少必须包含< title>元素和< description>元素其中一个作为子元素 以下列出了一些相关的< item>子元素
title—新闻项目的标题 link—新闻项目的URL description—新闻项目的大纲; author—新闻项目的作者; pubDate—新闻项目的发布日期 下面是一个非常简单的RSS 聚合文件 你可以从RSSgeneratedbyRadioUserLand看到其他的RSS 文件的例子
< rssversion= > < channel> < title>LatesFAQs< /title> < link>; /link> < description> ThisisthesyndicationfeedfortheFAQs a < /description> < item> < title>WorkingwiththeDataGrid< /title> < link>x< /link> < pubDate>Mon Jul : : GMT< /pubDate> < /item> < item> < title>WorkingwiththeRepeater< /title> < description> ThisarticleexamineshowtoworkwiththeRepeater control < /description> < link>x< /link> < pubDate>Tue Jul : : GMT< /pubDate> < /item> < /channel> < /rss> 关于< pubDate>元素的格式有一点特别重要 再此要讲一下 RSS要求日期必须按照RFC 日期和时间规范进行格式化 此格式要求 开头是一个可选的 字母星期缩写加一个逗号
接着必须是日加上 字母缩写的月份和年份 最后是一个带时区名的时间 另外 要注意< description>子元素是可选的 上述文件第一个新闻没有< description>元素 而第二个新闻就有一个
通过ASP NET页面输出聚合内容 现在 我们已经知道了如何按照RSS 规范存储我们的新闻项 我们已经就绪创建一个ASP NET页面 当用户发出请求时 就会返回网站聚合的内容 更确切地说 我们将建立一个名字叫rss aspx的ASP NET页面 这个页面会按照RSS 规范的格式返回Articles数据库表中的最新的 个新闻项 可以有几种方法来完成这件事 稍后将会讲到 但是现在 我们首先要完成一件事 那就是先要从数据库中获得最新的 个新闻项 这可以用下面的SQL查询语句获得
SELECTTOP ArticleID Title Author Description DatePublishedFROMArticlesORDERBYDatePublishedDESC 获得了这些信息以后 我们需要把这些信息转换成相应的RSS 格式聚合文件 要把数据库的数据显示为XML数据最简单 快速的方法就是使用Repeater控件 准确地说 Repeater控件将在HeaderTemplate和FooterTemplate模版里显示< rss>元素 < channel>元素以及站点相关的元素标签 在ItemTemplate模版里面显示< item>元素 下面是我们这个ASP NET页面( aspx文件)的HTML部分
cha138/Article/program/net/201311/11860相关参考
知识大全 用 Asp.Net 建立一个在线 RSS 新闻聚合器
用Asp.Net建立一个在线RSS新闻聚合器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
基于PHP和AJAX创建RSS聚合器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 想象使用一个
C#+ASP.NET开发基于Web的RSS阅读器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
中使用gridview显示新闻标题如何在当日新加新闻的标题后加一个new或图片 在后台或者公共类Common写如下类 publicstaticstringNew
ASP.NET项目开发指南:新闻列表[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb
ASP.NET项目开发指南:新闻列表[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ST_
ASP.NET项目开发指南:新闻的添加(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
ASP.NET项目开发指南:新闻的添加(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
ASP.NET项目开发指南:新闻的删除[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ST
ASP.NET项目开发指南:新闻的删除[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n