计算机科学与技术专业论文

上传人:dus****log 文档编号:74749295 上传时间:2022-04-14 格式:DOC 页数:42 大小:219KB
收藏 版权申诉 举报 下载
计算机科学与技术专业论文_第1页
第1页 / 共42页
计算机科学与技术专业论文_第2页
第2页 / 共42页
计算机科学与技术专业论文_第3页
第3页 / 共42页
资源描述:

《计算机科学与技术专业论文》由会员分享,可在线阅读,更多相关《计算机科学与技术专业论文(42页珍藏版)》请在装配图网上搜索。

1、毕业论文题 目:基于XML数据交换技术在分布式Web系统中的应用学生姓名: 学生学号: 系 别: 计算机与信息工程专 业: 计算机科学与技术 届 别: 2008指导教师:目录前言(4)1 XML基础知识(4)1.1XML 的优点(6)1.2 XML的应用(7)1.3 XML研究现状(8)2 WEB基础知识(9)2.1 Web 2.0(9)2.2 Web的特点(10)2.3相关名词介绍11)3XML数据交换技术(11)3.1ADO控件技术(12)3.2 XML对象技术(17)3.3DB2XML转换工具(20)3.4ODBC2XML转换工具(21)3.53.5 ASP2XML组件(21)3.6In

2、ter Access软件包(21)3.7XML Servlet软件包(23)3.8WDDX Web分布式数据交换(23)4XML数据存取机制(27)5基于XML的数据交换(30)5.1数据交换平台的结构设计(31)5.1.1 整体功能设计(31)5.1.2 系统体系结构(31)DataExg 组件结构(32)数据驱动的定义(33)6基于WEB 的分布式三层体系结构(33)7XML在WEB 系统中的应用(34)7.1XML与数据库(34)7.1.1 XML与数据库技术(34)7.1.2 XML与面向对象数据库(35)7.1.3 XML 在数据库中的存储模式(36)7.1.4 XML在数据库中的应

3、用模式(37)7.2 支持XML的数据库(38)7.3 数据存储(38)访问数据库(38)7.4 XML 在客户端的应用(41)7.5客户端与多个服务器之间的数据交换(42)结束语(43)致谢:(43)参考文献(43)基于XML数据交换技术在分布式Web系统用中应学生:刘鹏指导教师:程庆淮南师范学院计算机与信息工程系摘要:在当今Internet上,到处都有可扩展置标语言XML的身影。XML因为自身的诸多特点,使其成为Internet网上发布与数据交换的一门新兴技术,并有望在跨平台跨地域异构应用间的协同工作、基于语义的智能数据搜索等领域发挥重要作用。近年来,基于XML的数据交换与存取技术成为数据

4、交换和存取领域的一项重要课题,并引起广泛关注。本文主要介绍了基于XML 的数据交换技术和分布式Web系统的体系结构, 讨论了基于XML 的数据交换在分布式Web 系统中的应用,最后对XML数据存取技术的发展趋势进行了展望并用实例说明了具体实现方法。Abstract:In todays Internet, everywhere can be extended Markup Language XMLs shadow. XML because of its many features, making it a web publishing and Internet data exchange of

5、an emerging technology, is expected to cross-platform and cross-boundary between heterogeneous applications work together, based on the semantic intelligent data search, and other fields play an important role. In recent years, XML-based data exchange and access to technology as data exchange and ac

6、cess to an important topic areas and caused widespread concern. This paper describes the XML-based data exchange technology and distributed Web system architecture, discussed the XML-based data exchange in distributed Web system of the end of the XML data access technology trends in the development

7、of the prospect and example Note the specific method.关键词:XML;特性;应用;DOM;分布式Web系统;Java Servlet技术;数据交换与存取;Key words:xml;characteristic;apply;dom; distribute type web system;the technique of java servlet;the data exchanges and accesses;前言可扩展置标语言XML(Extensible Markup Language)是一门新兴的面向Internet应用的置标语言,它是由W

8、3C(Word Wide Web Consortium)组织于1998年2月制定的一种通用语言规范。XML是SGML(标准通用置标语言)的一个子集,严格的讲XML也还是SGML。其最大的优点在于适合在网上发布与数据交换。另外,作为对SGML语言标准的一种改良,XML凭借其良好的扩展性和自描述性、形式与内容分离、遵循严格的语法要求以及对多语种的支持等特点,给跨平台跨地域异构应用间的协同作、基于语义的智能数据搜索等重要领域带来重大突破。从整体上讲,XML定义了应用间所传递数据的结构,而且这种结构的描述不是基于二进制的、只能由程序去判读的代码,而是一种简单的、能够用任何编辑器读取得文本。利用这种机制

9、,程序员可以制定底层数据交换的规范,然后在此基础上开发整个系统的各个模块,而各模块之间传输的数据将是规范的符合既定规则的数据。另外,XML 还允许为特定的应用制定特殊的数据格式,使其非常适合于在服务器与服务器之间传送结构化数据。近年来,Web 应用程序非常流行, 它能适应多用户、多数据库且非安全的网络环境,具有良好的灵活性和可扩展性等优点, 但是随之而来它也有一些弱点:1、 系统的分布式特点大大增加了系统的复杂度;2、 应用程序不灵活Web 应用程序常常是针对特定的客户端编写的, 客户端需求的改变使你必须重写服务器端程序或创建极其类似的新服务;3、 新的应用程序常常重复大量现有的代码;(4)

10、向自动化Web 任务转移时却发现HTML 很难保存数据的含义。XML ( Extensible MarkupLanguage扩展标识语言) 是一种非常适于应用程序之间数据交换的格式, 特别是松耦合的应用程序, 如分布式Web 系统。作为一种通信协议, 具有跨平台性。对于应用程序数据来说, XML 具有同等的功效。XML 可以促进应用程序代码的重用, 提高应用程序在面对需求和程序变化时的适应能力。1 XML基础知识在XML 语言之前,已经有一种用来描述数据的标记语言SGML(Standard Generalized Markup Language,标准化基本标识语言)。它能够对各种各样的类型的数

11、据进行描述。SGML在Internet 出现以前就已经有了。随着Internet 的出现,人们开始把SGML 的运用转移到Web上来。但是SGML是一个十分庞大复杂的语言格式,用这种格式描述的数据不利于在网上传输。XML是SGML的简化版,它略去了SGML 中繁杂和不常用的内容,从而使得编程简化,易理解,易于在Web 上的传输和交互。但是它仍然是SGML ,XML文件也象其他的SGML 文件一样可以被解释和验证其有效性。SGML的过于庞大和HTML的过于简单及不可扩展,使得XML担负起推动深入发展的重任。为了使XML易用,XML在继承SGML的精华,保留其原有的可扩展性的同时,对SGML进行了

12、大规模的精简。正如几十万汉字中常用的不过只8000个,SGML常用部分只占20%,XML抛弃了SGML中部常用的部分,使它一下就精简了80%。XML设计中考虑了它的易用性。易用性来自两个方面:一方面用户编写Web页面方便,另一方面设计人员实现XML浏览器也不太难。总之,XML使用一个简单而灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段。HTML描述了显示全球数据的通用方法,而XML提供了直接处理全球数据的通用方法。另一方面,XML的出现并不意味这HTML语言的消亡,更不能简单的把XML理解为新一版本的HTML。XML是有一系列规范组成的, 它主要包括XML、XSL(E

13、xtensible Stylesheet Language)、XLINKS、XPOINTERS以及DTD(文档类型定义) 。其中DTD 是用来描述XML 文件的语法格式的。符合某一DTD定义的语法格式的XML 文件才被称为是有效的。目前,用来定义DTD 的语言有好几种,比较通用的是“XML DTD”和“XML Schema”。“XML DTD”是从SGML 遗留过来的,具有自己的独特的一套书写格式。“XML Schema”对它进行了扩充,能够对数据的类型进行描述。同时,“XMLSchema”没有另外采用一种语法格式,而是遵循了XML 的语法格式,增加了它的可接受程度。对于数据交换来说,最重要的

14、是进行数据交换的双方要对数据的格式达成统一的认识。只有采用统一的数据格式,才能实现数据的自动流转、处理等功能。目前,各行业都在积极指定本行业的XML 数据的规范。Microsoft 设立了“BizTalk”站点,用户可以把自己制定的XML Schema 提交到这一站点,或是下载其他人已制定好的Schema。1.1 XML 的优点XML之所以流行,是因为XML本身有许多的优点,其中最重要的就是XML简便的数据交换和处理。1、自描述性基于XML 的文档既有关于文档的内容描述,又有关于文档内容间互相关系的描述。HTML只是一种表现技术,HTML并不揭示HTML标签所标记的信息的任何具体含义,而XML

15、则将数据和显示分开。2、数据交换简便性早期在程序间可以很容易的交换数据,因为数据都是以文本的格式保存。然而今天的在程序间交换数据,必须要有转换程序或者转换模块来转换数据格式。事实上,及今日的一些私有数据格式已经相当复杂,一致一个复杂的应用程序常常无法从该程序的早期版本中读出数据。在XML中,数据和标记均以可配置的文本格式保存。可以用XML编辑器编写XML文档,但一旦某些地方有错误,完全可以直接修改检查和修改文档,因为所有都是文本格式的。数据没有采用任何一种申请了专利或者版权的格式编码,因此也更容易使用。3、定制标记语言性XML不仅允许使用者创建自己的标记语言,而且,可以通过XML扩展它。当别人

16、基于XML创建了语言,我们可以很容易的添加使用这个扩展。4、结构化和综合性数据结构XML的另一个功能强大之处在于,使用者逼近可以指定数据,还可以数据的结构,并可以将不同元素组合成其他元素。这一点对于处理重要的复杂数据极为重要。5、XML的跨平台性HTML在设计时将Web浏览器视为唯一的一种应用平台,由于HTML是在Web技术发展的早期制定的,那时候能够用于Web的技术很少,一次就将HTML的功能限制的比较死,但是现在的Java技术明显的需要一种比目前的HTML更强大的页面标记功能才能更好的发挥它的作用。如果把HTML作为一种数据标准,基于Web的应用将过多地依赖于服务器上的CGI描述来处理We

17、b页面中的数据。这种数据处理方式会大大加重Internet网络的负载,因此用户受Internet的带宽和实际通信流量的影响很大。而XML由于是SGML的子集,与生俱来地具有跨平台的特性,因此也正如我们所看到的,XML的出现带动了Java发展的新一轮高潮。1.2 XML的应用XML的应用已经非常广泛,在微软的Netscape的产品内部都是用了XML,在Perl这样的编程语言中也内嵌了XML支持。不过应当注意,XML应用是指XML在某个特定领域的应用,而不是指使用XML的应用程序。1、 设计置标语言作为元置标语言,XML为用户提供了定义本行业领域的置标语言的最好工具。例如化学领域的化学标记语言(C

18、ML)、数学领域的数学标记语言( MathML)、通信领域的 WML等。2、 文件保值XML具有良好的保值性和自我描述性使它成为保存历史档案,如政府文件、公文、科学研究报告等的最佳选择。3、 数据交换数据交换无疑是XML最令人激动的应用。从商业角度看这也是XML最大的贡献了。数据交换的核心问题是信息的标准化,主要解决信息的可理解性问题,而且,更重要的是极其对于信息的识别,并能根据数据进行自动的处理。XML的出现,为信息的标准化提供了有力的工具。4、 Web应用(1) 集成不同数据源 XML文档可以用来描述包含在不同应用的数据,从Web页面到数据库记录等,Web应用的中间层服务程序将使用这些XM

19、L表示的数据组合起来,然后提交给客户端或者下一步的应用。(2) 本地计算 XML数据传输到客户端以后,客户端可以利用XML分析器对数据进行解析和操作,在完成系统所需功能同时,合理分配客户端和服务器的符合。(3) 数据的多种显示 XML将内容与表现分离,XML只描述数据的结构和语义,显示外观则通过样式单文件(CSS或XSL)进行描述。因此只需在显示时配置不同的样式单,几、即可实现多种显示效果。1.3 XML研究现状(1) XML 与面向对象技术相结合。面向对象技术是以OSI 为基础的,它采用复杂的编码方法存储数据,而XML 使用可读的ASCII 编程方法。 这样XML 的ASCII 对象编码与现

20、有的对象方法的结合将使XML 成为供软件开发商选择的首屈一指的语言。(2) XML 与Java 技术的结合Java 由于众所周知的简单、跨平台、安全性和便于网络传输等优点,加上即时编译引擎以及其它改进使其运行速度显著提高,并成为网络应用软件开发的首选。 Java 和XML 技术的结合促进了新一代Web 应用的诞生,比如电子商务和企业应用程序的集成。(3) XML与数据库技术的结合XML文档分为以数据为中心和以文档为中心两类。 以数据为中心的XML 文档被用来进行数据转换,它们的物理结构往往不重要,只作为实体的属性值。 要存储和检索此类文档只需要用关系型或面向对象数据库来存储数据,同时需要某些数

21、据转换软件,甚至可能还需要Web 发布能力。 在以数据为中心的应用中,使用中间件在数据库和XML 文档之间来转换数据。(4)异构系统之间的互连由于企业之间、部门之间使用的操作系统平台和数据库的不同,导致共享信息流通的困难。异构系统之间交换数据的办法是采用一种业界统一的信息交换格式。(5) 信息检索XML 标记很明确地表达了它的涵义,搜索引擎就可以根据关键词和内容之间的依存关系进行准确定位,从而能根据搜索者所提供的关键词,很清楚地知道搜索者表达的语义而返回正确的结果。(6) Web自动化随着web 上的内容及应用快速增加,实现Web 交互操作自动化已经非常必要。 通过HTML 形式来进行用户交互

22、操作,则往往由于服务提供者改变了网站布局,向表单中增加了新的内容或改变了URL ,使得自动浏览软件出错,而更改它们需要花费大量的时间。 而XML 则可以解决以上问题。(7)多数据源数据的集成为了方便用户使用多种数据源,使多数据源交换数据变得简单,利用XML 在用户和多数据源之间建立一个中间层,让用户用统一的方式使用来自不同数据源的各种各样的数据,可屏蔽各数据源结构、运行环境上的差异。2 Web基础知识2.1 Web 2.0Web2.0 是相对Web1.0的新的一类互联网应用的统称。由Web1.0单纯通过网络浏览器浏览html网页模式向内容更丰富、联系性更强、工具性更强的Web2.0互联网模式的

23、发展已经成为互联网新的发展趋势。Web1.0的主要特点在于用户通过浏览器获取信息,Web2.0则更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者。Web1.0到Web2.0的转变,具体的说,从模式上是单纯的“读”向“写”、“共同建设”发展。所以互联网下一步,是要让所有的人都忙起来,用全民力量共同织出贴近生活的网。到目前为止,对于Web2.0概念的说明,通常采用Web2.0典型应用案例介绍,加上对部分Web2.0相关技术的解释。这些Web2.0技术主要包括:博客(BLOG)、RSS、百科全书(Wiki)、威客、网摘、社会网络(SNS)、P2P、即时信息(IM)等。“

24、Web 2.0”的概念开始于一个会议中,展开于OReilly公司和MediaLive国际公司之间的头脑风暴部分。所谓互联网先驱和OReilly公司副总裁的戴尔多尔蒂(Dale Dougherty)注意到,同所谓的“崩溃”迥然不同,互联网比其他任何时候都更重要,令人激动的新应用程序和网站正在以令人惊讶的规律性涌现出来。更重要的是,那些幸免于当初网络泡沫的公司,看起来有一些共同之处。那么会不会是互联网公司那场泡沫的破灭标志了互联网的一种转折,以至于呼吁“Web 2.0”的行动有了意义?我们都认同这种观点,Web 2.0会议由此诞生。在那个会议之后的一年半的时间里,“Web 2.0”一词已经深入人心

25、,从Google上可以搜索到950万以上的链接。但是,至今关于Web 2.0的含义仍存在极大的分歧,一些人将Web 2.0贬低为毫无疑义的一个行销炒作口号,而其他一些人则将之理解为一种新的传统理念。 互联网作为平台正如许多重要的理念一样,Web 2.0没有一个明确的界限,而是一个重力核心。不妨将Web 2.0视作一组原则和实践,由此来把距离核心或远或近的网站组成为一个类似太阳系的网络系统,这些网站或多或少地体现着Web 2.0的原则。我们强调Web 2.0的一些主要特性,认为是Web 2.0公司核心竞争力的一些方面,可以看待如下:1 服务,而不是打包的软件,具有高成本效益的可伸缩性。2 控制独

26、特的、难以再造的数据源,并且用户越多内容越丰富。3 把用户作为共同开发者来信任。 4 利用集体智慧。 5 通过客户的自服务来发挥长尾的力量。 6 软件超越单一设备。 7 轻量型用户界面、开发模式、和商业模式。今后一个公司要宣称是“Web 2.0”,就要将其特性同上述列表相测试。越符合就越名副其实。不过要记住,在某一个领域的卓越表现,可能会比对七大原则中的每个都浅尝则止,要更为有效。2.2 Web的特点1、Web是图形化的和易于导航的(navigate) Web 非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。W

27、eb可以提供将图形、音频、视频信息集合于一体的特性。同时,Web是非常易于导航的,只需要从一个连接跳到另一个连接,就可以在各页各站点之间进行浏览了。 2、Web与平台无关 无论你的系统平台是什么,你都可以通过Internet访问WWW。浏览WWW对你的系统平台没有什么限制。无论从Windows平台、UNIX平台、Macintosh还是别的什么平台我们都可以访问WWW。对WWW的访问是通过一种叫做浏览器(browser)的软件实现的。如Netscape 的Navigator、NCSA的Mosaic、Microsoft的Explorer等。 3、Web是分布式的大量的图形、音频和视频信息会占用相当

28、大的磁盘空间,我们甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上。只需要在浏览器中指明这个站点就可以了。使在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。 5、 Web 是动态的最后,由于各Web站点的信息包含站点本身的信息,信息的提供者可以经常对站上的信息进行更新。如某个协议的发展状况,公司的广告等等。一般各信息站点都尽量保证信息的时间性。所以Web站点上的信息是动态的。经常更新的。这一点是由信息的提供者保证的。Web动态的特性还表现在Web是交互互的。Web的交互性首先表现在它的超连接上,用户的浏览顺序和所到站点完全由他

29、自己决定。另外通过FORM的形式可以从服务器方获得动态的信息。用户通过填写FORM可以向服务器提交请求,服务器可以根据用户的请求返回相应信息。2.3 相关名词介绍1、超文本(hypertext)一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索。它是超级文本的简称。2、超媒体(hypermedia)超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Inter

30、net上。Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。你可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性我们才把它称为Web。 3 XML数据交换技术到目前为止,已有大量关于XML的数据交换技术和应用面世。其中,有的只是在现有技术的基础上扩展XML支持,有的属于XML中间件产品,还有的是比较完整的XML应用。它们大多数都提供了对数据库的支持,这恰恰从一个侧面反映出XML与数据库的密切关系以及基于XML数

31、据库应用的潜力。不同的编程语言和脚本语言需要不同的SQL API和XML语法分析器组合。例如,对于一个C+程序员来说,编写一套访问数据库的XML应用程序可能需要利用ODBC和C+ XML语法分析器;而对于一个Java程序员来说,可能只需要JDBC和Java XML语法分析器就够了;更为特殊地,如果你对微软的Visual Basic和VBScript脚本语言比较熟,那么很有可能你会用它们来开发XML应用,此时,你只要再学习一下ADO,然后借助微软的XML语法分析器进行编程。下面我们就对各种XML数据交换技术及其应用进行一些分析,首先要讲解的是大名鼎鼎的ADO控件技术。3.1 ADO控件技术说到A

32、DO就不得不先提一下ASP。ASP(Active Server Pages)是一种在服务器端解释执行的脚本技术,主要用于基于Web应用,如动态网页的Web浏览等等。它是由微软公司开发的,最早出现于IIS 3.0。ASP通过在HTML页面中嵌入脚本语句,并结合ActiveX控件技术(如ADO、CDONT等),从而建立页面丰富、动态、交互而且高效的WEB服务器应用程序。ASP支持的脚本语言有两种,即VBScript和Jscript,缺省为VBScript.ASP的工作原理是:当客户端浏览器访问Web服务器ASP文件时,服务器根据被访问文件的扩展名(.asp)识别出其类型从而启动该ASP解析器,首先

33、服务器会遍历文件的全文,当遇到嵌入的服务器端脚本语句时就执行相应脚本(可以是启动计数或者查询数据库等等)并将返回结果按指定方式送回原处,脚本处理完毕后将生成的HTML页面文档返回至客户端,整个过程结束。虽然ASP并不是专门为XML量身定做的,但由于XML的可扩展性以及ASP自身的结构特性,使其又可以同XML相结合,从而实现利用ASP技术进行XML数据交换。下面我们将用一个具体示例,演示如何利用ASP进行XML数据交换。在本例中,运用了ADO控件来访问关系数据库并输出XML文档,另外还采用了DOM和XSL技术,实现了XML对象的访问和XML文档输出的样式化。我们仍用反复提及的一个例子“客户联系信

34、息”。这次我们是把数据放置于关系数据库中,然后运用ASP和ADO技术动态生成XML实例文档。假设我们事先已在Microsoft SQL Server数据库CLINETS中创建了一个数据表-clientList,其数据结构如下表3.1所示:表 3.1字段名释意类型是否为空Name姓名varchar(10)NOT NULLIDIDintNOT NULLCompany公司varchar(20)NOT NULLEmailEMAILvarchar(20)NOT NULL假设现在数据库中已经存了记录如表3.2所示:表 3.2NameIDCompanyEmail张三1A公司zhangaaa 李四2B公司下面

35、开始编程实现。首先是要创建一个数据源,数据源(ODBC Source)实际上是定义数据来源,也就是说用来告诉程序数据的出处。有一点需要注意,数据源的创建要在服务器端进行,因为ASP本身就是在服务器端运行的。其实要做的很简单:打开控制面板,鼠标双击ODBC数据源,添加数据源,选择SQL Server,分别配置服务器名(CLIENTS所在服务器)、数据库名(CLIENTS)、数据源名称(此处定为clientList)、用户名(sa)、用户口令(空),数据源就配置好了。下面来编写相应的代码,代码将通过调用XML DOM动态生成XML结构,然后借助ADO访问数据库动态填充XML内容。 运行该ASP,将

36、生成下面的XML文档。 张三 1 A公司 zhangaaa 李四 2 B公司libbb.org 通过调用XML DOM动态生成XML文档似乎有些繁琐,下面再看一段代码,这段代码是根据前面所描述的DTD(Schema)规则来生成最终的XML实例文档,也即,最终文档的结构是由程序代码来控制的。 运行该ASP,将直接在浏览器显示XML文档,内容同前面得到的结果相同。在上面的示例中,我们看到的是如何通过自定义文档结构生成XML实例文档。显然,这种方案存在一个前提,那就是,开发者必须了解文档结构,并且通过编程严格控制输出文档的格式。但细心的读者可能会产生疑问:既然数据已经存储在数据库中,又何必大费周折重

37、新定义一遍文档结构呢?XML的自描述性何在?为了解决这个问题,微软将其ADO技术进行了扩展以提供对XML的更大支持,结果是可以根据数据库表的内在结构直接输出XML文档,文档的格式将符合默认的DTD定义。下面是一个用Visual Basic 6.0编写的实例:声明连接和结果集Dim Cconn As ADODB。ConnectionDim rsData As ADODB.Recordset Private Sub Form_Load()连接数据库 Dim query As String Set Cconn = New ADODB.ConnectionCconn.ConnectionString

38、= DSN=nwind;UID=sa;PWD=;Cconn.Open 执行数据库查询 query = Select * FROM clientList Set rsData = cConn.Execute(query) 将数据库返回结果集保存至文件 On Error Resume Next Kill (recordset.xml) rsData.Save output.xml, adPersistXMLEnd Sub下面给出的是该程序执行后生成的XML文档output.xml。通过分析,可以发现,它实际上是一个内嵌XML Schema的XML实例文档。该实例文档的主元素是,命名空间rs由xml

39、ns:rs=urn:schemas-microsoft-com:rowset定义;数据库查询返回的每一条记录都作为的一个子元素,用表示。子元素实际上是空元素,信息均以属性的方式体现,属性来自于返回的数据库字段。内嵌的Schema部分定义了元素的组织结构和规则。 ADO提供了文档保存功能,通过它,ASP可以将数据库返回结果集保存至XML文件,这些XML文件经由XSL样式化后可以在浏览器直接显示,也可以传输至其他应用系统供再次利用。另外,值得一提的是,微软在其ADO2.5和IIS5.0中又增加了更高级的支持,即,可以将数据库返回的结果直接转换为XML在浏览器中显示,而不必先保存至文件。下面的实例片

40、段有力地说明了这一点:3.2 XML对象技术尽管XML在多数情况下可以很好地描述数据,但是开发者有时却不得不使用CGI来进行浏览器和服务器之间的数据交换。这是,问题就出现了。从信息交换的角度来讲,虽然CGI是完全能够满足要求的,但是,当CGI同XML一起使用时就会掩盖XML自身的一些优点,从而使得XML在信息交换方面的优势无处找寻。不过,微软对此已有自己的解决方案,它提供了一种更加有效的方法来传输XMLXML 。XML 是微软的又一项基于XML的数据交换技术,主要用于在服务器与客户端交换XML数据。该技术源于微软在其XML DOM实现中引入的一个重要对象XML Request(Microsof

41、t.XML ),它可以为客户端提供同 服务器通讯的协议支持。简而言之,它允许你打开一个到服务器上的 连接,然后发送和接受数据,并且利用Microsoft XML DOM对返回数据进行解析。使用XML 对象通常是进行XML数据交换,但也并不局限于此,其他格式的数据也是允许的。另外,通过同XSL相结合,XML 提供了一种便捷方式发送结构化查询字串到服务器,然后将返回结果在客户端以多种方式显示。这种交换类型的标准模式是客户端发送一个XML格式的文本字符串到服务器,然后服务器将这个字符串装载入一个XML DOM对象中并进行解析,然后返回一段 HTML给客户端,或者是另外一段XML代码给客户端让客户端的

42、浏览器自己解释。在这种方式下,对于信息的传递是非常有效的,尤其是当使用DHTML进行页面的动态显示时。下面的一个例子描述了XML 的上述功能。假定我们在服务器端已有一个XML实例文档client.xml。 张三1 A公司 zhangaaa 李四 2 B公司 libbb.org 下面的代码片段描述的是客户端发出请求界面,首先需要输入待查联系人的姓名和公司,点击查询按钮后,程序执行查询函数。该函数首先创建一个XML 对象xml ,和一个XML DOM对象client,前者用于向服务器发送XML数据(xml .send(template.XMLDocument))和接收XML数据(xml .resp

43、onseXML.xml)function QueryClient() var xml = new ActiveXObject(Microsoft.XML ); var client = template.XMLDocument.documentElement; xml .Open(POST, :/localhost/Query.asp, false); client.childNodes.item(0).text = cliName.value; client.childNodes.item(1).text = cliCompany.value; xml .send(template.XMLD

44、ocument); alert(xml .responseXML.xml); 请输入待查联系人姓名:请输入待查联系人公司:下面的代码片段(Query.asp)描述的则是服务器端的处理流程,首先创建两个XML DOM对象,一个对应于XML文件client.xml(xmlClient.load(Server.MapPath(client.xml)),另一个对应于是客户端传送的XML数据(queryClient.load(Request))。然后程序根据传送的XML数据构建XSL查询参数并进行节点定位,如果匹配成功,返回客户端查询到的XML数据;否则返回查无此人!的XML数据。Response.co

45、ntentType = text/xml set queryClient = Server.CreateObject(Microsoft.XMLDOM)set xmlClient = Server.CreateObject(Microsoft.XMLDOM)queryClient.async = falsequeryClient.load(Request)xmlClient.async = falsexmlClient.load(Server.MapPath(client.xml)set xmlRoot = xmlClient.documentElementset queryRoot = qu

46、eryClient.documentElementqueryStr = /联系人姓名= & queryRoot.childNodes.item(0).text & and 公司= & queryRoot.childNode.item(1).text & set resultClient = xmlRoot.selectSingleNode(queryStr)if isNull(resultClient) = false then Response.write(resultClient.xml) else Response.write(查无此人!)end if3.3 DB2XML转换工具DB2X

47、ML是一种将数据从关系数据库转换成XML文档的工具,它提供了一组Java类,是由100%纯Java编写的。DB2XML可以完成下面三种功能:(1) 将数据库查询结果或整个数据库转换成XML文档或者HTML文档(利用XSLT); (2) 提供数据的属性描述; (3) 支持同XSLT样式单处理器的方便集成。 DB2XML可以作为一种工具通过图形界面或以命令行方式单独使用;也可以作为servlet来使用,在这种方式下,它可以动态输出XML文档;另外,DB2XML还可以以API的方式调用,这对程序员来说尤其具有吸引力。从根本上看,DB2XML是一种样式驱动的应用,其输出的XML文档实际上是一组表格,而

48、具体内容取决于用户输入的SELECT命令语句。另外,还可以为该XML文档指定标记名称以及是否包含数据库元数据。DB2XML生成的XML文档是通过两种结构方式来表达的,一种是标准的W3C DOM对象,另一种是利用DB2XML特定的数据结构。但是,不论采用哪种方式,都能够通过数据流或单字节数组进行访问。DB2XML是通过JDBC对数据库进行存取访问的,其应用开发需要JDK 1.1x以及提供JDBC驱动支持的数据库(如Oracle、Microsoft Access、Microsoft SQL Server、InstantDB、MySQL)。在DB2XML的开发中,一个重要的类是JDBCXML。下面给

49、出一个典型示例,是一个关于PermissionFrame的GUI应用:try jx = new JDBCXML(map); jx.generateXML(); XMLOutput out = new XMLOutput(DB2XML。this, map, jx.getXMLDocument(); if (map.getBooleanProperty(applyStylesheet) jx.getXSLParser(out).applyStylesheet();else out.writeToOutput();jx.closeDatabase(); catch(DB2XMLException e

50、x) DB2XML.this.handleDB2XMLException(ex); finally Jx.getXMLDocument().deleteTmpFiles();3.4 ODBC2XML转换工具ODBC2XML是由Intelligent Systems Research开发的共享软件,它实际上是一个Windows动态库DLL,通过它,可以将数据从数据库中提取出来并转换成XML文档。该软件属于模板驱动,也就是说,将SELECT语句作为处理指令嵌入到模板中。ODBC2XML在使用时相当灵活,内嵌查询的返回结果可以直接作为元素或属性存在,甚至可以再次作为其他查询的参数,从而产生嵌套的XM

51、L文档。3.5 ASP2XML组件ASP2XML是由Stonebroom开发的。它实际上是一个用来在XML文档和任意ODBC或者OLE-DB数据源之间双向传输数据的OLE COM组件。该产品是模型驱动的,并且将XML文档模型化成一个单一的表对象。当将数据从数据库传输成XML时,用户制定一个单一的SELECT声明,输出包含ASP2XML自定义的标志。当将数据从XML传输给数据库时,XML文档中必须包含ASP2XML自定义的标志,它们是该中间件处理时要用到的。这个组件可以在ASP脚本中使用,也可以当一个普通的组件使用。3.6 InterAccess软件包InterAccess是由XML Software Corporation开发的一套软件包。该软件包是一种以客户/服务器方式通过互联网访问ODBC/OLE DB数据库的软件,客户端和服务器之间以XML数据格式双向交换数据,其独特之处在于采用TCP/IP而不是通常的 作为数据传输协议。InterAccess是由三个模块组成的:InterAccess服务器软件、InterAccess客户端COM动态库、InterAccess浏览

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!