首页 > 开发 > .Net > 正文

ASP.NET编写一个在线RSS新闻聚合器

2019-10-27 13:48:23
字体:
来源:转载
供稿:网友
 rss新闻聚合现在好像很流行哦,让我们也来玩一下,不过我们要玩的是:用asp.net编写一个在线rss新闻聚合器。
  概要
  本文讲解了如何使用 xml web 控件获取远程xml数据并在 asp.net 页面显示这些xml数据,以及使用repeater控件发布数据库中的xml数据。在过去的几年间,随着 异构平台间共享数据的需求不断增长,xml的使用也呈爆炸性增长。意识到这种趋势,微软在整个.net框架中对 xml 提供了健壮的支持。这意味着,对于 asp.net 开发者来说,在web页面 中显示和处理 xml 数据从来没有这么容易过。本文将通过生成一个 rss2.0 聚合引擎和在线新闻聚合器来学习 xml 和 asp.net 技术。 本文假设读者熟悉 asp.net 和 xml。
  简介
  随着办公室和家庭上网在线时间的延长,以及 web 站点和可访问的互联网应用程序呈持续爆炸性增长,应用程序之间能数据共享变得越来越重要。在 异构平台之间共享数据需要一种平台中立的数据格式,这种数据格式要求能易于通过标准的互联网协议来传输,而这正是xml的用武之地。因为xml文件本质上 只是一个文本文件,其编码格式众所周知,而且现有的xml解析器能为所有主流编程语言所用,所以xml数据能被任何平台轻松使用。
  web 网站聚合就是一种使用 xml 来共享数据的范例,在新闻站点和网志中经常可以看到。采用 web 网站聚合技术,网站能以 xml 格式的 web 可访问的聚合文件来发布最新内容。网站使用 的聚合格式有很多种,其中最流行的一种格式就是 rss2.0。( rss2.0 规范被发布在 harvard law 网站 的技术栏目上)。此外,msdn 杂志有一个聚合文件:msdn杂志:本期刊物, 其中列出了最新一期 msdn 杂志上的文章,包括到在线版本文章的链接。
  一旦 web 站点有了公开发布聚合文件,那么不同的客户端就可以消费它。消费聚合文件的方式有很多种,比如,某个提供 .net 技术资源的站点可能希望在网站中 添加最新的 msdn 杂志文章标题。聚合文件还常常被新闻聚合器程序所用,这种程序被专门设计用来获取和显示不同来源的聚合文件。
  随着人们越来越注重使用 xml 数据,在 asp.net 页面中处理 xml 数据的能力变得比以往更关键。既然 web 站点聚合如此重要, 本文我们就来创建一个 web 站点聚合文件生成程序和一个在线新闻聚合器。在建立这两个微型程序的过程中,我们将讲述如何访问和显示xml数据,不论这些数据是来自远端的web服务器还是本地的文件系统。我们将演示如 何多种不同的方法显示xml数据,比如:用 repeater 控件以及用 asp.net xml web控件。
  使用 rss 2.0 规范的聚合内容
  本文我们将要创建的第一个微型程序是一个聚合文件生成器。针对这个迷你程序,假设你是一个大型新闻网站(如 msnbc.com)的 web 开发者,所有的新闻内容都保存在 microsoft sql server 2000 数据库中。具体地说,这些文章是 都保存在一个名为 articles 的表中,表中以下字段与我们的程序密切相关:
  ·articleid—主键,自增长的整型字段,用来唯一标识每一篇文章;
  ·title— 指定标题,字段数据类型: varchar(50);
  ·author—指定作者,字段数据类型: varchar(50);
  ·description—新闻内容描述,字段数据类型: varchar(2000);
  ·datepublished—新闻发布日期,字段数据类型:datetime
  请注意,articles 表中可能还有其它字段,上面所列的只是我们在创建聚合文件的时候所要用到的字段。而且,这只是一个非常简单的数据模型,在 是应用的数据库环境中,你可能会使用更加标准化的数据库模型,比如具备一个单独的 authors (作者)表,有一个建立作者和文章之间多对多关系的表等等。
  下一步,我们将创建一个asp.net页面,用格式化好的 rss2.0 xml 文件显示一个最新的新闻列表。在讲述如何在 asp.net 页面 中完成这种转换之前,我们要先介绍一下 rss2.0 规范的内容。我们应该记住,在整个规范中,rss 是被设计用来为聚合内容提供一个数据模型。那么 毫无疑问,它会有一系列的 xml 元素,用来描述 web 站点要聚合的内容信息,以及一系列用来描述某一特定新闻项的 xml 元素。最后,不要忘记 rss 聚合文件是一个 xml 格式文件,必须符合 xml 格式化的准则
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表