毕业设计-酒店点菜系统—论文.doc_第1页
毕业设计-酒店点菜系统—论文.doc_第2页
毕业设计-酒店点菜系统—论文.doc_第3页
毕业设计-酒店点菜系统—论文.doc_第4页
毕业设计-酒店点菜系统—论文.doc_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

酒店点菜系统摘要随着越来越多的站点对RSS的支持,RSS已经成为目前最成功的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。相信很快我们就会看到大量基于RSS的专业门户、聚合站点和更精确的搜索引擎。刚刚起步的RSS(Really Simple Syndication,技术业务正在不断吸引着那些依赖于网络广告的商家的注意。RSS的英文全名是Really Simple Syndication(真正简单联合供稿系统),是一种用来聚集搜集新闻标题或是提供网页内容的格式,以XML可延伸标记语言为基础。如今RSS最广泛的使用在将网站的最新头条新闻或内容有效率的整理出来,提供需求者参考。并且也是一种网站和网站之间共享内容的简易方式。也就是说RSS不但可以描述网站上的新闻格式,以及网志。更可以通过RSS让别人更容易发现你的网站以及追踪新闻的来源。一些大的网站如BBC, CNET, CNN, Disney, Wired等的网站讯息都是透过RSS来当作讯息传播的媒介。 RSS的出现解决了网站管理所必须面临的许多问题,使的网络上传递和搜集讯息更加的方便,一方面也保证网络传输的速度,增进了网络联机的质量。当网站上看到这样的图标或是 等,都意味着可以使用网站上RSS的服务。本课题是研究在.NET Framework中,通过使用XmlTextReader和XmlTextWriter类对xml数据的读和写操作,即读写RSS文档。开发环境是Visual Studio 2005 ,开发所用的语言是C。关键字 RSS 、XmlTextReader、XmlTextWriter、C# 、.NET FrameworkAbstractAs more sites on the support of RSS, RSS has become the most successful application of XML. RSS structure of the rapid dissemination of information in a technology platform, making everyone has the potential to become information providers. Believe that soon we will see a large number of RSS-based professional portal site polymerization and more precise search engine. RSS technology business is to continue to attract those who rely on Internet advertisements to the attention of businessmen.The full name of the rss is Really Simple Syndication ,which is used to gather a collection of news headlines or provide website content, the format, XML can be extended markup language based. Now RSS the most extensive use of the site will be the latest news headlines or content efficient sorted out, demand for the provision of reference materials. And is also a web site and web content sharing between the summary. RSS is not only can be described on the website news format and bloggers. RSS can also let others more easily find your site, as well as tracking the sources of news. Some of the major websites such as the BBC, CNET, CNN, Disney, Wired, and so on the website message through RSS as to spread the message of the media. RSS resolve the emergence of the website management must face many problems, enable the network to collect and transmit information more convenient, but it is also securing network transmission speed, enhanced the quality of on-line networks. When the website to see the icon or the other, it means can be used on the website RSS services. The topic is the study. NET Framework, through the use of XmlTextReader and XmlTextWriter xml data type to read and write, read and write RSS document. Development environment is Visual Studio 2005. Development of thelanguage used is C #。KEY worlds:RSS 、XmlTextReader、XmlTextWriter、C# 、.NET Framework目录摘要1Abstract2第一章绪论41.1开发背景41.1.1国内外在该方向的研究现状及分析51.2开发意义51.3本章小结6第二章 开发环境以及技术介绍62.1开发平台介绍62.1.1 操作系统 : windows xp62.1.2 数据库管理系统Sql server 200062.1.3 开发所用主要语言 C# ,Xml。62.1.4 visual studio 200562.2 开发与运行软件所要求的硬件环境72.3 Xml介绍。72.4 本章小结11第三章 总体设计123.1 系统需求分析123.2系统功能设计133.2.1添加Rss模块。133.2.2频道管理模块ChannelManager133.2.3内容搜索模块。133.2.4备份与导入管理模块。143.2.5下面是RSS阅读的功能原理图:143.3 本章小结14第四章 数据库设计154.1 数据库设计154.1.1 数据表设计154.1.2 在数据库中建立表154.2本章小结16第五章 系统实现175.1 系统主要功能模块的具体实现175.1.1 XML 读取器175.1.2 使用XmlTextReader类解析175.1.3. 实现添加Rss栏目的关键代码185.1.4 添加Rss频道的关键代码215.1.5 XML 编写器255.1.6读取解析并保存Rss文档255.2 .net 框架的读取器和编写器325.3 数据库连接335.3.1数据库连接具体代码345.4 本章小结35第六章 系统调试366.1 单元测试366.2 主界面调试366.3 其他数据输入模式的测试366.4 本章小结36总结37致谢38第一章 绪论1.1开发背景随着互联网的高速发展,人们的生活也发生了重要的变化,许多人都习惯于通过网络来获取感兴趣的信息。而每个网站都可作为一个生产信息的基地,这充分体现了网络时代给人类带来的极大方便。然而目前来说还存在一个很大的缺陷,即每个网站或系统彼此都是独立的,各自的数据都是无法共享的。要解决这个问题,实现共享,就需要通过复制然后粘贴的形式。显然,这极大地限制了各网站信息价值的最大化体现,同时也加重了实现共享所要付出的成本。而网站与网站之间进行信息共享与交换却随着信息量的不断增大而变的日益突现。基于这种现实的问题和需求Netscape公司推出的一项信息同步技术,也就是我们现在所说的技术,以期来解决该问题因为所采用的信息表 示标准首先它是符合标准的定义,而且已是大家都公认的,且开放的一种信息表示方式同时RSS技术又通过标准定义一套能适合于各网站的 一种信息表示方式,并且它所定义的标准是相当简洁的这样,每个网站就都可以以标准的方式输出信息,同时也能以标准的解析方式(读取方式)来方便获取其它 风站共享出的信息 1.1.1国内外在该方向的研究现状及分析最初的0.90版本RSS是由Netscape公司设计的,目的是用来建立一个整合了各主要新闻站点内容的门户,但是0.90版本的RSS规范过于复杂,而一个简化的RSS 0.91版本也随着Netscape公司对该项目的放弃而于2000年暂停。不久,一家专门从事博客写作软件开发的公司UserLand接手了RSS 0.91版本的发展,并把它作为其博客写作软件的基础功能之一继续开发,逐步推出了0.92、0.93和0.94版本。随着网络博客的流行,RSS作为一种基本的功能也被越来越多的网站和博客软件支持。 在UserLand公司接手并不断开发RSS的同时,很多的专业人士认识到需要通过一个第三方、非商业的组织,把RSS发展成为一个通用的规范,并进一步标准化。于是2001年一个联合小组在0.90版本RSS的开发原则下,以W3C新一代的语义网技术RDF(Resource Description Framework)为基础,对RSS进行了重新定义,发布RSS1.0,并将RSS定义为“RDF Site Summary”。但是这项工作没有与UserLand公司进行有效的沟通,UserLand公司也不承认RSS 1.0的有效性,并坚持按照自己的设想进一步开发出RSS的后续版本,到2002年9月发布了最新版本RSS 2.0,UserLand公司将RSS定义为“Really Simple Syndication”。 目前RSS已经分化为RSS 0.9x/2.0和RSS 1.0两个阵营,由于分歧的存在和RSS 0.9x/2.0的广泛应用现状,RSS 1.0还没有成为标准化组织的真正标准。但可以预计的是:随着越来越多的站点对RSS的支持,RSS已经成为目前最成功的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。相信很快我们就会看到大量基于RSS的专业门户、聚合站点和更精确的搜索引擎。1.2开发意义从出现的背景和所采用的技术我们现在就可以很明显地看到它对于各网站或系统将有什么样重大的作用它最根本的作用就是网站与网站之间信息的标准交换有了这种交换我们将可以很方便且灵活地将原来各自孤立网站整合起来,实现信息的方便流通,使互联网真正变成一个互联互通的网络系统同时实现信息价值 的最大化体现,给网站带来更丰富的应用,以及提高用户体验所以可以说RSS对当下互联网的作用将是巨大的,深远的基于它的这些特性我们就可以改造或改变原来互联网所应用的一些特性和模式,使它的 应用更加灵活、多样。比如前面提供的现在大家普通认识到的通过阅读器来获取原来需要在网站上才能获取信息的一种方式。还有我们可以也可以将网站上各栏目的信息来源由原来的编辑供给改为由来供给。我们可以切实地感受到开发rss阅读器的好处。以阅读新闻作为举例,它本身的特点决定了其给我们带来的好处。.没有广告或者图片来影响标题或者文章概要的阅读; RSS阅读器自动更新你定制的网站内容,保持新闻的及时性;.用户可以加入多个定制的RSS提要,从多个来源搜集新闻整合到单个数据流中。 访问者使用特定的RSS阅读器软件,不必登录这个网站就可以读取RSS文件,看到文件中标示的所有网页的标题、摘要、链接等信息,并且点击浏览网页。 通过上述方式,访问者可以在自己的阅读器里分门别类地收集许多来自不同网站的自己感兴趣的RSS文件,而不必一个一个地访问这些网站。RSS阅读器实际上成了读者自己的个性化信息库。 对于网站来说,RSS方式也有好处。它扩大了网站内容的传播面,也增加了网站访问量,因为访问者调阅的RSS文件和浏览的网页,都是从网站服务器上下载的。 RSS文件的网址是固定不变的,网站可以随时改变其中的内容。RSS内容一旦更新,浏览者看到的内容也随即更新了。1.3本章小结通过本章的学习,我们对Rss阅读器的背景有了一定的认识,也对Rss的概念有教深的理解。Rss文档实际上就是用XML格式写的文件。第二章 开发环境以及技术介绍2.1开发平台介绍2.1.1 操作系统 : windows xp 2.1.2 数据库管理系统Sql server 20002.1.3 开发所用主要语言 C# ,Xml。2.1.4 visual studio 2005 Visual studio 2005是微软的.NET平台,它比visual studio 2003增加了大量控件和类库,并使用Framework2.0,减少了约70%的代码量,界面操作也更智能化。是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C+ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。可扩展标记语言 (XML) 提供描述结构数据的方法。XML 是 SGML 的子集,非常适合在 Web 上传送。万维网联合会 (W3C) 定义了 XML 标准以使结构化数据保持统一并独立于应用程序。Visual Studio .NET 完全支持 XML,提供了 XML 设计器以使编辑 XML 和创建 XML 架构更容易。NET Framework 是用于生成、部署和运行 XML Web services 和应用程序的多语言环境而我们现在开发的rss阅读器的文档就是符合规格的标准xml文件。所以该平台是用C#开发该rss阅读器的最理想的平台。2.2 开发与运行软件所要求的硬件环境CPU :赛阳2.4D内存:512M硬盘空间:80G显示器:1024.768 分辨率网卡:10M/100M自适应2.3 Xml介绍。由于rss文档是用xml来写的。那什么是xml呢? XML即可扩展标记语言(eXtensible Markup Language)。标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。 上面这段是对XML的一个基本定义,一个被广泛接受的说明。简单说,XML就是一种数据的描述语言,虽然它是语言,但是通常情况下,它并不具备常见语言的基本功能被计算机识别并运行。只有依靠另一种语言,来解释它,使它达到你想要的效果或被计算机所接受。XML的制定目标为: XML应该可以在互联网上直接使用;XML应该支持各种不同的应用方式;XML应该与SGML兼容;处理XML文件的应用程序应该容易编写;XML中的可选特性的数量应该减到最小,最好减至没有;XML文件应该具有良好的可读性,并且比较清晰; 用XML设计新的置标语言应该方便快捷;XML设计的置标语言应该正式、简洁;XML文件应该容易编制;XML标记的简洁性并不重要。下面是一个用xml写的简单符合rss 2.0 格式的文档。W3SchoolsW3Schools Web Tutorials RSS Tutorial/rssCheck out the RSS tutorialon W3S文档内的第一行为XML声明-定义了XML的版本和文档使用的字符编码。这个例子里文档使用的是XML1.0版本,编码为 ISO-8859-1. 下面的一行描述RSS文档元素(这个就像在说:这是一份RSS2.0版本的文档)再下面的一行描述了文档的元素:接下来的三行描述了的三个子元素(,)W3SchoolsW3Schools Web Tutorials然后就是元素,元素包含了RSS展示的一些信息(, 和 )你可以添加数个元素:RSS Tutorial/rssCheck out the RSS tutorialon W3S最后的两行关闭 和 元素2.4在.NET Framework中处理XML数据从MSXML到.net的XML 在. NET Framework出现之前,我们习惯使用MSXML服务-一个基于COM的类库-写windows的XML的驱动程序。不像. NET Framework中的类,MSXML类库的部分代码比API更深,它完全的嵌在操作系统的底层。MSXML的确能够与你的应用程序通信,但是它不能真正的与外部环境结合。 MSXML类库能在win32中被导入,也能在CLR中运用,但它只能作为一个外部服务器组件使用。但是基于.NET Framework的应用程序能直接的用XML类与.NET Framework 的其它命名空间整合使用,并且写出来的代码易于阅读。 作为一个独立的组件,MSXML分析器提供了一些高级的特性如异步分析。这个特性在.NET Framework中的XML类及.NET Framework的其它类都没有提供,但是,NET Framework中的XML类与其它的类整合可以很轻易的获得相同的功能,在这个基础上我们可以增加更多的功能。 .NET Framework中的XML类提供了基本的分析、查询、转换XML数据的功能。在.NET Framework中,我们可以找到支持Xpath查询和XSLT转换的类,及读/写XML文档的类。另外,.NET Framework也包含了其它处理XML的类,例如对象的序列化(XmlSerializer和the SoapFormatter类),应用程序配置(AppSettingsReader类),数据存储(DataSet类)。具体到本软件的设计,只需要讨论实现基本XML I/O操作的类。 XML分析模式 既然XML是一种标记语言,就应该有一种工具按一定的语法来分析和理解存储在文档中信息。这个工具就是XML分析器-一个组件用于读标记文本并返回指定平台的对象。 所有的XML分析器,不管它属于哪个操作平台,不外乎都分以下的两类:基于树或者基于事件的处理器。这两类通常都是用XMLDOM(the Microsoft XML Document Object Model)和SAX(Simple API for XML)来实现。XMLDOM分析器是一个普通的基于树的API-它把XML文档当成一个内存结构树呈现。SAX分析器是基于事件的API-它处理每个在XML数据流中的元素(它把XML数据放进流中再进行处理)。通常,DOM能被一个SAX流载入并执行,因此,这两类的处理不是相互排斥的。 总的来说,SAX分析器与XMLDOM分析器正好相反,它们的分析模式存在着极大的差别。XMLDOM被很好的定义在它的functionalition集合里面,你不能扩展它。当它在处理一个大型的文档时,它要占用很大内存空间来处理functionalition这个巨大的集合。 SAX分析器利用客户端应用程序通过现存的指定平台的对象的实例去处理分析事件。SAX分析器控制整个处理过程,把数据“推出”到处理程序,该处理程序依次接受或拒绝处理数据。这种模式的优点是只需很少的内存空间。 .NET Framework完全支持XMLDOM模式,但它不支持SAX模式。为什么呢?因为.NET Framework支持两种不同的分析模式:XMLDOM分析器和XML阅读器。它显然不支持SAX分析器,但这并不意味它没有提供类似SAX分析器的功能。通过XML阅读器SAX的所有的功能都能很容易的实现及更有效的运用。不像SAX分析器,.NET Framework的阅读器整个都运作在客户端应用程序下面。这样,应用程序本身就可以只把真正需要的数据“推出”,然后从XML数据流中跳出来。而SAX分析模式要处理所有的对应用程序有用和无用的信息。 阅读器是基于.NET Framework流模式工作的,它的工作方式类似于数据库的游标。有趣的是,实现类似游标分析模式的类提供对.NET Framework中的XMLDOM分析器的底层支持。XmlReader、XmlWriter两个抽象类是所有.NET Framework中XML类的基础类,包括XMLDOM类、ADO.NET驱动类及配置类。所以在.NET Framework中你有两种可选的方法去处理XML数据。用XmlReader和XmlWriter类直接处理XML数据,或者用XMLDOM模式处理。更多的关于在.NET Framework中读文档的介绍可以参见MSDN 2002 年八月刊的Cutting Edge栏目文章。 XmlReader类:XML阅读器支持一个编程接口,接口用于连接XML文档,“推出”我们要的数据。如果更深入去了解阅读器,就会发现阅读器工作原理类似于我们的桌面应用程序从数据库中取出数据的原理。数据库服务返回一个游标对象,它包含所有查询结果集,并返回指向目标数据集的开始地址的引用。XML阅读器的客户端收到一个指向阅读器实例的引用。该实例提取底层的数据流并把取出的数据呈现为一棵XML树。阅读器类提供只读、向前的游标,我们可以用阅读器类提供的方法滚动游标遍历结果集中的每一条数据。 从阅读器中看XML文档不是一个标签文本文件,而是一个序列化的节点集合。它是.NET Framework中的一种特殊的游标模式;在.NET Framework中,你找不到其它的任何一个类似的API函数。 阅读器和XMLDOM分析器有几点不同的地方。XML阅读器是只进的,它没有父、子、祖宗、兄弟节点的概念,而且是只读的。在.NET Framework中,读写XML文档是分为两种完全不同的功能,分别由XmlReader和XmlWriter类来完成。要编辑XML文档,我们可以用XMLDOM分析器,或者我们自己设计一个类来实现这两种功能。让我们开始分析阅读器的程序功能。 XmlReader是一个抽象类,你可以继承并扩展它的功能。用户程序一般都基于下面的三种类:XmlTextReader、XmlValidatingReader或者 XmlNodeReader类。所有的这些类都有如图一的属性和图二的方法。要注意的是,某些属性的值实际上依赖于实际的某个阅读器类,不同的类与基类可能不同。因此,在图一中每个属性的说明都是以基类为准的。例如,CanResolveEntity属性在XmlValidatingReader类中只返回true;而在其它的阅读器类中它却可以设为false。同样的,在图二中的某些方法的实际返回值对不同的类可能不同。例如,如果节点类型不是元素节点(element node),所有包含Atrributes的方法的返回值类型都是void。 XmlTextReader类用只进,只读的方式快速访问XML数据流。阅读器先验证XML文档是否是格式良好的,如果不是则抛出一个异常。XmlTextReader 检查 DTD 的格式是否良好,但不使用 DTD 对文档进行验证。XmlTextReader通过XML文档的文件名,或它的URL,或者从文件流中载入XML文档,然后快速的处理XML文档数据。如果我们需要对文档的数据进行验证,可以用XmlValidatingReader类。 可以用多种方法创建XmlTextReader类的实例,从硬盘中加载文件,或从URL地址中加载,流(streams)中加载,还有就是从文本中读入XML文档数据: XmlTextReader reader = new XmlTextReader(file); 注意,所有XmlTextReader类的公共(public)构造函数都要求我们指定数据源,数据源可以是stream、文件或者其它。XmlTextReader默认的构造函数是受保护的(protected),所以不能直接使用。像.NET Framework中所有的阅读器类一样(如SqlDataReader类),一旦阅读器对象连接并打开,我们就可以用Read方法去访问数据了。开始的时候只能用Read方法把指针移到第一个元素;然后我们可以用Read方法或其它方法(如Skip, MoveToContent和ReadInnerXml)移动指针到下一个节点元素。要处理整个XML文档的内容,可以根据Read方法的返回值用一个循环遍历文档内容,因为Read方法返回一个布尔值,当读到文档的尾节点时,Read方法返回false,否则它返回true。 子节点的缩进量是根据阅读器的深度属性(Depth属性)设置的,Depth属性返回一个整形的数据,它表示当前节点的嵌套层次。所有文本都放在StringWriter对象中(一个非常方便的基于流的封装了StrigBuilder类的类)。 如前所述,阅读器不会自动通过Read方法访问属性节点。要访问当前元素的属性节点集合,必须用一个简单的用MoveToNextAttribute方法的返回值控制的循环去遍历该集合。下面的代码用于访问当前节点的所有属性,并把属性的名称和它的值用逗号分开组合成一个字符串:if (reader.HasAttributes) while(reader.MoveToNextAttribute() buf += reader.Name + = + reader.Value + ,; reader.MoveToElement(); 当完成对属性集的处理时,调用MoveToElement方法使指针返回到属性所属的元素节点。准确的说,MoveToElement方法并不是真正的移动指针,因为在处理属性集时指针从来就没有从元素节点中移开。MoveToElement方法只不过指向某个内部成员,并依次取得成员的值。例如,用Name属性获得某个属性的属性名,然后调用MoveToElement方法把指针移到其所属的元素节点处。但是当你不需要继续处理别的节点时,就不必再调用MoveToElement方法了。 2.4 本章小结本章介绍了开发环境的软件方面和硬件方面的要求,对visual studio 2005 的优点有了一定的认识,这对我们以后的系统开发带来许多的方便之处。也简要说明了什么是xml,同时还介绍了一个用xml写的标准的rss 2.0文档。到这里我们都会对rss的概念有了更深一层的了解了。第三章 总体设计3.1 系统需求分析开发rss的目的之一就是方便对网络上资源的管理,它的应用应该可以做到把被动获取信息变为主动获取信息;把以网站运营者为中心的信息发布变为以网民为中心的信息定制;它还将网络上的离散信息聚合起来,形成了一个信息聚合平台这也就是它的名字所表示的:“Really Simple Syndication”。Rss在目前来说应用最多的就是通过读取相关网站上的用Xml写的Rss源并把它写进本地的xml格式的文档。然后再读取本地的该文档把它显示在相应的web页面上。当我们在网上浏览遇到感兴趣资源的时候,如果该网上有rss源,我们就可以通过rss阅读器把该rss源加入到rss阅读器的频道列表中去,并按相应的类别分配好。基于这点,所以Rss阅读器就要实现添加删除的功能。当我们想要对已经添加在软件中的频道进行管理的时候,这就需要增加阅读器的频道管理功能。通过该功能可以实现对频道和类别进行操作,即编辑或删除。除这些以外,我们还要考虑到备份与导入的功能,以实现用户对频道信息的了解。最后一点就是,通过rss阅读器我们需要能够做到方便地搜索出相关的资源,并把它显示出来。 下面是开发RSS的流程图: 3.2系统功能设计系统功能模块的设计可以分为以下几个模块:3.2.1添加Rss模块。该模块包括添加频道栏目即AddClass 和添加频道即AddChannel。添加栏目相当是添加了一个文件夹以把Rss频道按照自己的意愿分成几个类别。所以添加栏目不需要通过读取网络上的Rss文档而,而是就在本地新建就可以了。添加Rss频道是通过. NET Framework中提供的类去读取网络上提供的某网站上的Rss文档,然后进行解析,保存在本地,再应用相应的类把刚保存的文档写成Xml格式的Rss文档。3.2.2频道管理模块ChannelManager该模块只要实现的功能是编辑或者删除栏目和频道的信息。通过该功能模块,我们可以实现对栏目和频道进行相应的管理。譬如可以编辑、删除栏目或频道,如果选择了删除栏目,那么应该也会把处在该栏目下的频道也给删除了。如果不需要某频道了,那就可以选择删除频道。而不是删除栏目。3.2.3内容搜索模块。通过该模块可以通过搜索关键字实现在数据库里查找相关内容并把结果显示在页面上的功能。在Sql数据库里建立合适的表以保存要保留的Rss的内容,不过,这些内容一般都是关于频道的标题ItemTitle和简单描述Itemdescription。如果想看看存在Rss文档里面有没有感兴趣的内容,可以通过对本地数据库进行搜索,如果有就显示在相应的页面上,以及把其网上的链接也显示出来。3.2.4备份与导入管理模块。该模块要实现的功能是备份与导入rss频道信息的功能。当我们通过支持Rss的网站上订阅了Rss的时候,这样如果我们更新了某道,那么就相当于把该频道的信息保存了下来。备份与导入明显可以方便我们去管理频道。导出备份的文件格式是以Rss为后缀名的。实际上就是一个用Xml写的文档。导入模块可以把先前备份好的文件再导入Rss阅读器。3.2.5下面是RSS阅读的功能原理图:3.3 本章小结通过本章的系统的总体设计,我们对RSS阅读器的框架有了相当清晰的认识了,明白了它只要实现的模块是什么,以及模块间的内在联系。为以后的进一步去实现模块的具体功能提供了基础。第四章 数据库设计4.1 数据库设计RSS阅读器需要把RSS文件从提供RSS订阅的网站上读取、保存下来,为此,要设计一个数据库用来保存数据。 在这里用SQL SERVER 2000来完成这一目标。要存储的数据不是blog或新闻组的详细内容消息,而是用户自己添加的频道信息,但可以把内容的简要信息即RSSDescription包含其中。4.1.1 数据表设计:Rss阅读器频道信息表:字段名字段说明数据类型长度必填主键RssIdRss栏目IDGIGINT8YYChannelIdRss频道IDVARCHAR50NChannelTitle频道标题VARCHAR200NChannelDescription频道内容简单描述VARCHAR800NChannelLink频道链接VARCHAR50NItemID频道里类别IDGIGINT8NItemTitle频道里类别标题VARCHAR20NItemDescription频道里类别内容简单描述VARCHAR40NItemLink频道里类别的链接VARCHAR50N4.1.2 在数据库中建立表打开SQL Server 2000 企业管理器,新建一个数据库名为Rssreader,根据该表在数据库里新建一个表:4.2本章小结在本章,我用Sql server 2000 来保存数据,由于Rss 阅读器需要保存的内容并不多,用一个表就足够完成了。第五章 系统实现5.1 系统主要功能模块的具体实现。5.1.1 XML 读取器在实现各项模块的功能之前,我们首先要了解XML读取器中的一些类。MicrosoftNET d框架提供了两组截然不同的类,用于XML驱动的读/写操作。这些类就是前面介绍过的XML readers 类和XML writer类。读取器的基类是XmlReader类,而XmlWriter则提供了编写器类的基本编程接口。XmlReader是SystemXml 命名空间的一个抽象类,定义了XML读取器的功能集.这个功能集允许开发人员以非缓存只向前移动的只读方式访问XML流。沿只前移方向,XML读取器以跳跃的方式从一个节点向下一个节点访问只读流。XML读取去将内部指针指向当前节点,但其属性和文本与前一节点或后一节点的内容不相关。因此,不能修改文本或属性,所能做的只是将指针从当前节点向前移动到下一节点。然而在访问属性节点时,可以通过索引返回到父节点或访问属性。该访问的算法是节点优先的,但可以在定制读取器类中安排其他的访问算法。5.1.2 使用XmlTextReader类解析XmlTextReader类具有以只向前、只读的方式,快速访问XML数据流的功能。XmlTestReader类实例的创建方式为: XmlTextReader readernew XmlTextReader (file)5.1.3 下图是SystemXml名称空间的类 XML也是DataSet类中的System名称空间的一部分,如下表示:5.1.3. 实现添加Rss栏目的关键代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace RSSReader public partial class AddClass : Form private int _flag; private int _id; public AddClass(int flag,int id,string channelName) InitializeComponent(); this._flag = flag; this._id = id; if (this._flag = 1) this.Text = 修改栏目名; textInput1.InfoText = channelName; private void button_OK_Click(object sender, EventArgs e) if (textInput1.GetText!=null&textInput1.GetText.Trim().Length 0) if (_flag = 0) MenuBar.AddChannel(textInput1.GetText); NavigateBarEvent.NavigateUpdate(0); MessageBox.Show(新的栏目添加成功., , MessageBoxButtons.OK, MessageBoxIcon.Information); else ModifyChnannelName(); NavigateBarEvent.NavigateUpdate(0); this.Close(); else MessageBox.Show(栏目名不能为空格或空字符., , MessageBoxButtons.OK, MessageBoxIcon.Information); private void textInput1_KeyDown(object sender, KeyEventArgs e)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论