欢迎来到天天文库
浏览记录
ID:20968661
大小:56.00 KB
页数:4页
时间:2018-10-18
《用asp.net建立一个在线rss新闻聚合器--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、用ASP.NET建立一个在线RSS新闻聚合器>>概要 本文讲解了如何使用XMLL数据并在ASP.页面显示这些XML数据,以及使用Repeater控件发布数据库中的XML数据。在过去的几年间,随着异构平台间共享数据的需求不断增长,XML的使用也呈爆炸性增长。意识到这种趋势,微软在整个.框架中对XML提供了健壮的支持。这意味着,对于ASP.开发者来说,在L数据从来没有这么容易过。本文将通过生成一个RSS2.0聚合引擎和在线新闻聚合器来学习XML和ASP.技术。本文假设读者熟悉ASP.和XML。简介 随着办公室和家庭上网在线时间的延长,以及L的用武之地。因为XML文件本质上只是一个文本文件
2、,其编码格式众所周知,而且现有的XML解析器能为所有主流编程语言所用,所以XML数据能被任何平台轻松使用。 L来共享数据的范例,在新闻站点和网志中经常可以看到。采用L格式的L文件显示一个最新的新闻列表。在讲述如何在ASP.页面中完成这种转换之前,我们要先介绍一下RSS2.0规范的内容。我们应该记住,在整个规范中,RSS是被设计用来为聚合内容提供一个数据模型。那么毫无疑问,它会有一系列的XML元素,用来描述L元素。最后,不要忘记RSS聚合文件是一个XML格式文件,必须符合XML格式化的准则,也就是: ·所有XML元素必须正确嵌套; ·所有的属性值要用引号包含起来; ·<,>,,"和
3、’’符号要相应地替换为<,>,,"和apos;; 而且,XML格式是大小写敏感的,这就意味着,XML元素的起始和终止标签必须匹配,拼写和大小写都必须一致。 RSS2.0的根元素是<rss>元素,这个元素可以有一个版本号的属性,例如:<rssversion="2.0">...</rss> <rss>元素只有一个子元素<channel>,用来描述聚合的内容。在<channel>元素里面有三个必需的子元素,用来描述>元素中。<channel>元素可以有任意数量的<item>元素。每个<item>元素可以有多种的子元素,唯一的要求是最少必须包含<title>元素和<descri
4、ption>元素其中一个作为子元素。以下列出了一些相关的<item>子元素: ·title—新闻项目的标题; ·link—新闻项目的URL; ·description—新闻项目的大纲; ·author—新闻项目的; ·pubDate—新闻项目的发布日期 下面是一个非常简单的RSS2.0聚合文件。你可以从RSSgeneratedbyRadioUserLand看到其他的RSS2.0文件的例子。123下一页>>>>这篇文章来自..,。<rssversion="2.0"><channel><title>LatestDataon,07Jul200321:00:00GMT</pubDat
5、e></item><item><title>ArticlesORDERBYDatePublishedDESC 获得了这些信息以后,我们需要把这些信息转换成相应的RSS2.0格式聚合文件。要把数据库的数据显示为XML数据最简单、快速的方法就是使用Repeater控件。准确地说,Repeater控件将在HeaderTemplate和FooterTemplate模版里显示<rss>元素、<channel>元素以及站点相关的元素标签,在ItemTemplate模版里面显示<item>元素。下面是我们这个ASP.页面(.aspx文件)的HTML部分:<%Pagelanguage="c#"Cont
6、entType="text/xml"Codebehind="rss.aspx.cs"AutoEventL(DataBinder.Eval(Container.DataItem,"Title"))%></title><description><%#FormatForXML(DataBinder.Eval(Container.DataItem,"Description"))%></description><link>Story.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"ArticleID")%></link><author><%#Forma
7、tForXML(DataBinder.Eval(Container.DataItem,"Author"))%></author><pubDate><%#String.Format("{0:R}",DataBinder.Eval(Container.DataItem,"DatePublished"))%></pubDate></item></ItemTemplate><FooterTemplate></channel></rss></
此文档下载收益归作者所有