markup language支持多大XML 怎么好像10M左右就不行了, 一操作就非法,我要解析很大的XML文件应该怎么弄?

JavaScript 解析读取XML文档 实例代码
字体:[ ] 类型:转载 时间:
应项目之需求,需用JS操作XML文档,遂上网查资料,感觉这篇文章还不错,特转载到此地,与大家共享!
JavaScript解析读取XML文件,主要就是加载并解析XML文件,然后就可以测试解析的XML文件的内容,打印输出来。 在线演示:注:测试的时候需要在网站中测试,iis或apache中,注意不要本地双击运行测试index.htm 代码如下: &html& &head& &title&脚本之家&/title& &script type="text/javascript"& function show() { if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } if(xmlhttp!=null) { xmlhttp.open("GET","jb51.xml",false); xmlhttp.send(null); var responsexml=xmlhttp.responseXML; var menus=responsexml.getElementsByTagName("Menus")[0]; var html=""; for(var i=0;i&menus.childNodes.i++) { var menu=menus.childNodes[i]; html=html+"&h1&"+menu.getAttribute("name")+"&/h1&&br&"; html=html+"&h2&"+menu.childNodes[0].getAttribute("name")+"&/h2&&br&"; for(var j=0;j&menu.childNodes[0].childNodes.j++) { var mi=menu.childNodes[0].childNodes[j]; var url=mi.getAttribute("url"); var txt=mi.childNodes[0].nodeV html=html+" &a href=\""+url+"\"&"+txt+"&/a&&br&"; } } document.getElementById("tb").innerHTML= } else { alert("你用的什么浏览器?"); } } &/script& &/head& &body onload="show()"& &div id="tb"&&/div& &/body& &/html& xml文件 代码如下: &?xml version="1.0" encoding="utf-8"?& &Menus& &Menu id="0" name="首页"& &MenuItemTitle sid="01" mid="0" name="常用选项"& &MenuItem mid="0" tid="01" url="Home.aspx"&后台首页&/MenuItem& &MenuItem mid="0" tid="01" url="Test.aspx"&测试页&/MenuItem& &/MenuItemTitle& &/Menu& &Menu id="0" name="试试"& &MenuItemTitle sid="01" mid="0" name="常用选项"& &MenuItem mid="0" tid="01" url="Home.aspx"&后台首页&/MenuItem& &MenuItem mid="0" tid="01" url="Test.aspx"&测试页&/MenuItem& &/MenuItemTitle& &/Menu& &/Menus& 没有用TABLE ,是因为显示倒了,所以设置了一个变量,然后显示!值得今后借签! 下面是另外一个例子:编写了一个JavaScript的类来实现读取一个XML文件中的数据,实现代码如下所示:
代码如下: &script& /** * @author Shirdrn */ function XMLDoc(){}; // 定义一个XMLDoc类 XMLDoc.prototype.xmlFile = ""; // xmlFile为XMLDoc的一个成员,是指“.xml”文件 XMLDoc.prototype.parseXMLDoc = function(){ // 加载解析XML文件的成员方法 var docP if(window.ActiveXObject) { // IE浏览器支持 docParser = new ActiveXObject("Microsoft.XMLDOM"); docParser.async = "false"; docParser.load(this.xmlFile); return docP } else if(window.DOMParser) { // Mozillia浏览器支持 docParser = new DOMParser() return docParser.parseFromString(this.xmlFile,"text/xml"); } else { // 如果不是IE和Mozillia浏览器则无法解析,返回false。
} } XMLDoc.prototype.print = function(readTagName,readTagCnt) { // 打印输出读取的XML文件的内容信息 var xmlDoc = this.parseXMLDoc(); // 调用成员方法parseXMLDoc()加载解析XML文件 var users = xmlDoc.getElementsByTagName(readTagName); // 获取指定标签名称的数据的一个数组users for(var i=0 ; i&users. i++) { // 双重循环迭代输出 document.write("&B&第" + (i+1) + "条记录信息:&/B&&BR&"); for(var j=0 ; j&readTagC j++) { var tagname = users[i].childNodes[j].tagN var textvalue = users[i].childNodes[j]. document.write(tagname + " = " + textvalue + ".&BR&"); } } } var xmlDoc = new XMLDoc(); // 创建一个XMLDoc了IDE对象实例 xmlDoc.xmlFile = "user.xml"; // 设置对象实例的成员变量的数据 xmlDoc.print("user",6); // 打印输出 &/script&
其中,我们测试使用的XML文件user.xml的内容如下所示:
代码如下: &?xml version="1.0" encoding="utf-8" ?& - &users& - &user& &id&00&/id& &name&Shirdrn&/name& &age&26&/age& &gender&男&/gender& &email&&/email& &phone&&/phone& &/user& - &user& &id&01&/id& &name&Linda&/name& &age&23&/age& &gender&女&/gender& &email&&/email& &phone&&/phone& &/user& &/users&
运行测试程序,解析结果输出如下所示:
代码如下: 第1条记录信息: id = 00. name = Shirdrn. age = 26. gender = 男. email = . phone = . 第2条记录信息: id = 01. name = Linda. age = 23. gender = 女. email = . phone = .
在解析XML文件的时候,要保证对不同类型的浏览器提供支持,这里主要对IE和Mozillia浏览器,否则可能无法解析。 关于其它的说明,可以参看程序中的注释。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具114网址导航DOM和SAX在XML文件产生器中的应用
DOM和SAX在XML文件产生器中的应用
【文件操作栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。&&&&网学会员整理了文件操作-DOM和SAX在XML文件产生器中的应用 - 硕士论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
东南大学 硕士学位论文DOM和SAX在XML文件产生器中的应用 姓名:张一凯 申请学位级别:硕士 专业:软件工程 指导教师:吴介一方宁生
内容摘要 内容摘要题名:DOM和SAX在XML文件产生器中的应用硕士研究生姓名:张一凯导师姓名:吴介一(教授)方宁生(副教授)Paul Fleming(高工)学校名称:东南大学’ XML作为数据交换的通用格式,已经被广泛应用于各个领域。&&&&在IT企业的测试工作中,有许多临时文件,需要快速的读写操作。&&&&为了减少对数据库的频繁操作,同时建立一个具有相对独立的测试应用程序的平台,软件技术人员在很多场合都采用XML文件的方式对数据库进行操作访问。&&&& 在XML的应用过程中,决定其效率的关键因素是解析XML文件的解析算法。&&&&在传统的算法中DOM和SAX具有完全不同思路,但是其各自的优缺点明显。&&&&这就局限了它们在不同解析器中的应用。&&&&本文在新型解析算法基础上(如VDT.XML、StAX等),根据工程项目的要求,研究各种XML解析的API对解析算法的优化,制定切实可行的XML解析方法。&&&& 该项目的开发是基于Perl脚本的SAX接口乘lJava的JDOM的API,经过研究和实验,目前提出的XML解析方法大大缩短了解析XML的时间,同时提高了开发自动化测试工具的效率和整个XML的解析效率,给项目组的测试工作带来便利。&&&&关键词:数据交换,XML,SAX、DOM、JDOM,解析算法,XML解析器、stAX、VDT-XMI, 东南大学硕+学位论文 AbstractTitle:THE APPLICATION 0F DOM AND SAX IN XML GENERp汀ORAuthor:Zhang Yi-kaiSupervised by Wu Jie―yi,Professor Fang Ning―sheng,and Professor PaulFleming.Abstract:As a standard of data switching,XML has been applied in SO many areas widely.Especially in IT industry area,there are many temporary files for testing,andthey are needed to be read and written very quickly.To get rid of the huge costcaused by the data processing with database,and also for the independency ofthe application from OS platform,XML files are used widely in many cases.In the application of XML,the key factor is the efficiency of the parsing ofXML.Parsing means to build hierarchy of the data,extract the information inthe content,and write the file in a standard way.The heart of parsing is itsarithmetic.The traditional arithmetic for parsing xml is DOM and SAX.Both ofthem are good are excellent one,but still have disadvantage in each.DOM canhave more functionality but is slow and high memory cost;while SAX is fastbut with less capacity.And this paper is based on the new parsing arithmetic,StAX and VDT-XML,also considering the requirement of project,to analyzethe arithmetic of parsing XML.It will also investigate the optimization in theAPI perspective.Finally this investigation gets a proper XML parser for theproj ect,and implements it in a Java application.Keywords:Data Switching,XML,SAX,DOM,JDOM,Parsing Arithmetic,XML Parser,StAX,VDT-XML II 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。&&&&尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。&&&&与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。&&&& 研究生签名: 叁二垃 日期:竺二Z:!:兰 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。&&&&本人电子文档的内容和纸质论文的内容相一致。&&&&除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布(包括刊登)论文的全部或部分内容。&&&&论文的公布(包括刊登)授权东南大学研究生院办理。&&&& 研究生签名: 江一凯 新虢绺期:竺拦 j融一 第l章绪论 第1章绪论1.1课题研究背景 随着计算机网络的迅速发展,数据表达和数据交换已经成了信息技术中的关键一环。&&&&无论是在面向商业应用,还是企业应用,以及各行各业的应用中,对于数据交换的效率都提出了越来越高的要求。&&&&数据作为信息产业中最基础的一个单元,是所有IT技术的基础,也是信息交流的元素。&&&&由于分布式系统,和客户端服务器模式的广泛运用,在不同的系统环境中进行数据交换,已经成为了rr生产流程中重要环节。&&&&数据交换的技术也向着多元化方向发展。&&&&不同的数据交换方式应用在不同的场合。&&&&采用何种数据交换的方式主要考虑平台异构性和数据本身的结构。&&&&目前主要应用的数据交换方式有:数据库方式、电子数据交换(EDI)方式、中介层方式、中间数据方式等。&&&&它们都能在不同环境中进行交换的,即异构交换。&&&&但却有各自不同的表达特点。&&&&其中采用中间数据方式交换,就需要有一种通用的格式,也就是说用一种行之有效的通用文件格式来进行数据交换,变得尤为重要。&&&& 对任意一个企业级或门户级应用而言,它不可避免地需要根据多个交换/描述标准提供数据接口,而且应当为潜在的交换/描述标准预留接口。&&&&同时随着系统的进化、自动化程度的提高,数据的一次转换流程将不局限于一个交换/描述标准,在很多情况下需要涉及两个或多个交换/描述标准,而且所有通过数据界面获得的数据必须保存入数据库。&&&&例如某个生产汽车的厂商使用AIAG的行业交换标准获得配件商的信息,然后使用CommerceOne的xCBL与该配件商完成商务交易,最后义要使用FIX与银行进行财务信息的交换,在这种应用情况下,某些数据(比如配件价格)就需要从AIAG的文档实例转到xCBL的文档实例,并最后转到FIX的文档实例,而所有的这些数据又必须保存在数据库中以便应用程序进行处理。&&&&若为每两个存储格式构筑转换应用,是一项复杂度呈指数增长的工作。&&&&如何有效地线性地解决这一问题,这对数据交换技术提出了新的挑战【l】。&&&&注意参考文献的引用,以下同样 同时,今天信息的复杂性与关系型数据库理论产生的时代已不可同日而语,信息的结构日益复杂,随着个性化服务等需求增长,信息的多样性和差异性都大大增加了,而关系型理论在管理信息复杂性方面的不足日益明显。&&&&随着IT系统进入社会生活的各个方面,信息不仅日益复杂,而且其需求内容和结构随着时间的推移也不断地产生变化.现实世界要求信息技术具有越来越高的灵活性和适应性.关系型数据理论所采用的是一种固定的建模方式,任何关系和属性一旦定义,就是固定的,难以随着需求的变化进行灵活的调整【2】。&&&& 在这样的数据交换的需求下XML文件及其解析技术应运而生。&&&& W3C在1998年制订了XML的标准,启动了整个Intemet环境下的信息标准化的进程。&&&&两年间,适应于各行业需求的XML Application纷纷被制订。&&&&而这些XML Application也如同网状的Internet一样在整个应用体系中呈网状分布。&&&&这些交换标准主要分这样几类:1)为实现跨行业业务而建立的体系式交换标准,如xCBL、eXML、ebXML等;2)应垂直行业内信息交换需要而建立的交换标准,如SML、adXML、MEDoc等;3)通用的、适用企业内部某一领域的专业交换标准,如C1ML、OCF、FIX;4)软件应用领域的专有信息描述标准,如Wf-XML、XEDI、UIML掣¨。&&&& XML的出现,一开始其主要目的是应用于系统间数据的交换。&&&&为便于数据交换,其设计包含了几个主要的特点,首先是采用自描述的标签式数据描述方式,数据本身描述自己的含义,从而使数据的可读性大大提高,十分易于人或程序理解。&&&&今天越米越多的系统需要相互协作、共享信息。&&&&信息的可读性、能否易于理解变得日益重要。&&&& 同时,XML采用层次型(树型)的方式组织数据,通过层次关系体现出数据与数据之间的关系。&&&& 东南大学硕士学位论文层次模型能够比较清晰地描述复杂对象,并易于扩展。&&&&另外,XML采用层次型(树型)的方式组织数据,通过层次关系体现出数据与数据之间的关系。&&&&层次模型能够比较清晰地描述复杂对象,并易于扩展。&&&&1.2运用XML的数据交换 XML文件作为一种可扩展性强,已经越来越被广泛采用;所以,高效的解析XML数据也变得越来越重要,尤其是在大数据量的处理的情况下。&&&&如果解析算法不当,就会造成内存的过度使用,以及过长的处理时间,这将直接影响了整个软件产品的效率。&&&& XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是处于SGML,标准通用语言。&&&&XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有效工具。&&&&扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。&&&& XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与WiIldows,Mac OS,Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。&&&& XML的前身是SGML(The Standard Generalized Markup Language),是自IBM从60年代就开始发展的GML(Generalized Markup Language) 同HTML一样,XML(可扩展标识语言)是通用标识语言标准(SGML)的一个子集,它是描述网络上的数据内容和结构的标准。&&&&尽管如此,XML不像HTML,HTML仅仅提供了在页面上显示信息的通用方法(没有上下文相关和动态功能),XML则对数据赋予上下文相关功能,它继承了SGML的大部分功能,却使用了不太复杂的技术。&&&& 为了使得SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。&&&&XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。&&&& 因为XML是个公共格式, (它不专属于任何一家公司),所以不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言。&&&& 如今,XML已经是世界上发展最快的技术之一。&&&&它的主要目的是使用文本以结构化的方式米表示数据。&&&&在某些方面,XML文件也类似于数据库,提供数据的结构化视图。&&&&XML与Access,Oracle和SQLServer等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。&&&&事实上XML与其他数据表现形式最大的不同是:他极其简单。&&&&这是一个看上去有点琐细的优点,但正是这点使XML与众不同。&&&& XML与数据库相比,处理能力当然不能比。&&&&但是一个小型的应用,没有必要人动干戈的动用数据库呢。&&&&一旦用上了数据库,就需要建表、配置、写JDBC代码。&&&&对于小型的数据,例如不大于10M的数据来说,使用XML作为存储机制不见得就比数据库差。&&&&而且可以用DOM/SAX很快的存取XML中的数据,这些数据还可以用DTD/Schema来维护其有效性。&&&&非数据库的XML Web应用,应该可以在原型系统中发挥很好的作用。&&&&XML没有,或者需要手动编码以实现事务处理功能,数据库有事务处理能力;对于小型数据,XML有优势,因为只是文件读写,数据量少几乎只剩下打开文件的时间;数据库要建立连接再读数据,在处理小型数据时反而效率低;XML是完全彻底的平台无关,而数据库哪怕是经过ODBC,JDBC一串的转换,恐怕还是和平台有很大的关系,一旦需要移植,不可避免的伤筋动骨。&&&& 2 第l章绪论 当存在大量数据需要处理分析的话,最好是把这些数据放到数据库中,所以几乎所有大型的商业应用系统都是和数据库相关联的,诚然,XML本身是不是数据库,从严格的意义上来说,XML仅仅意味着XML文档。&&&&因为尽管一个XML文档包含数据,但是如果不通过其他的软件的软件来进行数据处理的话,它本身只不过是一个文本文件。&&&&所以XML本身不能和数据库挂上钩,但是加上一些其它的辅助工具,我们可以把整个XML看成是一个数据库系统,XML文本本身可以看成是数据库中的数据区,DTD或者Schemas可以看成是数据库模式设计,XQL可以看成是数据库查询语言,SAX或DOM可以看成是数据库处理工具。&&&&当然它还是缺少数据库所必须的一些东西,比如有效的存储组织、索引结构、安全性、事务处理、数据完整性、触发器、多用户处理机制等等。&&&& XML用纯文本的格式来组织信息,在大多数情况下,这种格式独立于任何平台。&&&&相对于一般的数据表示格式,其优点如下: ?平台独立性,即可作为通用标准用于数据传输; ?灵活性(自描述性),即可以以多种表现方法来组织数据; ?可读性和简单性,即对一般用户和开发人员来说,只需要用文本阅读和编辑工具就可以阅 读和修改文本XML文档了。&&&& 什么样的场合要利用XML进行数据交换,而不采用数据库呢?举个例子来说明这个问题,比如你有一个电子商务的应用程序需要使用XML来进行数据传输。&&&&你所关心的是数据本身应该具有的结构,你并不关心它在文档中实际的存储结构。&&&&如果你的应用程序很简单的话,基本的文件系统将满足你的需求,但如果应用本身很复杂的话,你就需要一个完整的开发应用环境来支持XML。&&&&从另一个方面来说,假设你有一个Web站点,它的内容是由一系列XML文档构成的,你不仅要管理这个站点,同时你需要提供给用户一个搜索该站点内容的机制。&&&&而这些都需要借助数据库来实现。&&&&选择一个数据库的最重要的因素是你是否需要数据库来存储数据或者是文档,如果你想要存储数据的话,你需要一个关系数据库或者是对象数据库来存储实际的数据,同时你需要中间件在数据库和XML文档之间建立桥梁关系,从另一方面来说,如果你想要存储文档,你需要一个内容管理系统,通过它进行文档的存储。&&&&实际上,XML文档可以分到两大类:以数据为中心或者以文档为中心。&&&& 以数据为中心的文档:数据为中心的文档有非常规则的结果,比如关于销售订单或者是饭店菜单的XML文档。&&&&以数据为中心的文档通常是为机器设计的,也就是说主要是方便机器进行处理。&&&&通常,任何Web站点可以动态的构建HTML文档,其步骤如下,根据用户的查询请求找到相关的面向数据的XML文档,然后通过XSL对XML文档进行转化,让基于HTML的浏览器能够方便的浏览结果。&&&& 以文档为中心的文档:以文档为中心的文档具有不规则的结构,而且数据的粒度也比较大。&&&&具体的例子如书本、电子邮件、广告等等。&&&&以文档为中心的文档主要是用人类而设计的。&&&& 不同的场合运用不同的XML文件交换所需要的数据,可以快速的读写数据,省去读写数据库的开销。&&&&在这种应用中,提高效率的关键就在于解析XML文档的效率,也就是XML的解析技术。&&&&1.3 XML数据交换的关键一解析 XML解析器是XML应用的基础。&&&&XML本身只是以纯文本对数据进行编码的一种格式,要想利用XML,或者说利用XML文件中所编码的数据,必须先将数据从纯文本中解析出来,因此,要求必须有一个能够识别XML文档中信息的文本文件阅读器(UP XML解析器),用来解释XML文档并提取其中的内容。&&&&显然,XML解析器在XML应用程序中有着重要的地位。&&&& 随着XML越来越广泛地被采用,高效解析XML文档也变得越来越重要,尤其是对于那些要处理大量数据的应用程序,这种技术尤为重要。&&&&选择合适的XML解析技术对应用系统的性能有着较大的影响。&&&&不正确的解析会导致过度的内存消耗和过长的处理时间,从而大大降低系统的整体性能。&&&& XM L解析器是将一个未经处理的字符串序列作为输入,并对它执行一些特定的操作。&&&&首先它 3 东南大学硕士学位论文检查XML数据是否符合基本的语法规则,确保各个元素正确的嵌套,并且正确地使用属性和实体参考等。&&&&大多数解析器还根据文档类型定义(DocumentTypeDefmition,DTD)或XMLSchema进行确认,核实该XML数据序列符合对应的DTD或XMLSchema中的各种规则。&&&&最后,解析输出通过编程API提供对XML文档内容的访问【2J。&&&& 目前常用的解析方法,有SAX和DOM两种。&&&&尽管这两种方法都存在各自的优点,但也有很明显的缺点【4】。&&&& DOM解析器需要将整个文档解析一遍,并将解析结果以树形结构保存找内存中,然后再把程序的控制权交给用户。&&&&这就导致了DOM不够灵活需要占用人量资源。&&&&也有改进型DOM解析采用延迟节点展开技术,这样可以实现部分解析文档的功能,但这种实现方法也会占用大量的资源,开销很大,效率依然不是很高。&&&& SAX解析在其解析过程中触发事件并激活用户预定义的回调方法。&&&&用户不能够对解析过程加以控制,不能进行迭代处理,使用上不够灵活。&&&& 在这两种基础上,其他改进型的方法也相继而出。&&&&比如StAX,VTD-XML等方法。&&&& 与DOM和SAX相比,StAX(The Streaming API for XML)是以pull方式解析XML的API,目前已经通过JCP的审核,成为JSR-173规范。&&&&StAX接口具有灵活小巧的特点,用户可以控制StAX的解析过程,比较适合于网络计算和移动环境的应用需求,有利于高效地实现解析XML解析。&&&&BEA公司提供了StAX的参考实现BEA StAX RI,但该实现并不完全符合StAX的规范的要求,存在功能缺陷,它只通过了火部分的XML兼容性测试。&&&&SJSXP是SUN公司开发的基于StAX的高效XML解析器,符合XMLl.0和Namespacel.0规范。&&&&Woodstox是一个开源的StAX XML解析器,目前的版本是2.0。&&&&Microsoft在.NET框架中提供的XmlTextReader,尽管不支持StAX接口,但也是一种拉方式的解析器。&&&&总之,XML拉式解析正在成为-〔业界关注的热点。&&&& 还有一种新的XML解析技术:VrD.XML。&&&&VTD.XML(Virtual Token Description,虚拟令牌描述符)是一个无提取(non.extractive)的XML解析方法,他很好地解决了DOM内存占用过大的缺点,并且还带来了其他好处,像快速的解析与遍历,XPath的支持,增量更新等。&&&&为了实现无提取这个目的,他将原XML文件原封不动的以二进制的方式读进内存,连解码都不做,然后在这个比特数组上解析每个元素的位置并把一些信息记录下来,之后的遍历操作便在这些保存下来的记录上进行,如果需要提取XML内容就利用记录中的位置等信息在原始比特数组上进行解码并返回字符串。&&&& 总之,对XML文件的解析技术随着XML文件的广泛运用而不断更新,而且各种编程语言和脚本语言都提供了相应的API,不断推进着XML技术的发展。&&&&1.4论文的主要研究点 从课题背景和相关研究的介绍上,我们可以得到一些有用的启示: 1)数据交换的技术向这两个不同的方向发展:一方面向着数据库的方向发展。&&&&数据库的发展使得数据交换进入了可编程,自动化,可控制,可扩展,功能强大的方向发展;另一方面,数据交换向着更直接跟快捷的直接文本读写的方向发展。&&&&XML文件在各种数据交换中的应用就是目前的主流。&&&&于是XML与数据库在各自不用的应用领域各领风骚。&&&&当然目前,这两个技术也在融合中。&&&& 2)XML文件本身的优势使得他能够担任许多场合的应用:文件本身承载数据,使得他广泛应用于一些脱离数据库服务小型应用;XML解析仅仅是文件操作,便于平台移植和单击应用;XML适用于层次型结构数据的表达,而数据库要表达这一数据结构则需要巨大的开销。&&&& 3)XML技术本身的关键在于解析技术的发展。&&&&XML的解析算法义最初的SAX和DOM发展到如今的更加高效的StAX,VTD.XML。&&&&而且解析算法还在不断发展,并且随着其应用领域的不断扩大,新的算法也应运而生。&&&& 4 第1章绪论 4)XML的具体API也是百花齐放。&&&&几乎主要的编程语言和脚本语言都有支持XML的API,而且互相在竞争中不断发展。&&&&最典型的以JAVA编程语言为例,JAVA中有SAX,JDOM,JDOM4J,还有一个JAXP平台,以整合各种XML的API。&&&&其他语言也都提供了不同层面的API。&&&& 通过对XML的特点,算法和应用层面的研究,结合本次测试工程的需求,本论文的研究内容有以下几点: 1)分析研究数据交换中,数据库交换与XML文件交换的效率比较,和适用场合的研究。&&&&主要着眼于层次型数据的交换的效率,资源有限的场合,已经单机环境中的应用。&&&& 2)基于XML的解析算法,研究算法的效率及可融合度;使得不懂的解析算法在同一应用中交叉进行,以争取最大效率; 3)研究XML应用的平台移植性,由于工程需求,需要构造一个能在不同平台独立运行的XML文件解析器和产生器。&&&&主要是对各种平台下的编程语言和脚本语言的XML的API进行具体研究,找出效率优先,兼顾平台移植性的解决方案。&&&& 4)设计并实现用于工程测试的基于XML数据解析及产生的测试自动化_丁具。&&&&用于实现XML模板文件的解析,周期性模拟数据的XML文件产生,测试数据配置,与服务器通信功能。&&&&该应用是一个单机的前台程序,可应用于客户端或服务器,并且有友好的用户界面。&&&&1.5论文的组织结构 本文共分个章节。&&&&主要是对当前数据交换技术,尤其实在层次型数据应用方面展开研究,并结合工程需求,设计并实现一个基于XML数据解析和产生的自动化测试丁具。&&&&本文组织结构如下: 第一章:绪论。&&&&研究课题国内外已有的重要文献的扼要概括,,阐明研究此课题的目的、意义,研究的主要内容和所要解决的问题。&&&&由数据交换引出XML的解析技术,并研究实现层面上的各种解析方法的API。&&&&提出了本课题的研究方向,以及具体的项目需求,和最终实现目标。&&&& 第二章:层次型数据的数据交换。&&&&主要研究在处理层次型数据方面,数据库与XML的比较。&&&&层次型数据如何在关系型数据库中表达。&&&&XML处理数据交换的特点,尤其是在处理层次型数据方面的优势。&&&&以及目前XML和传统数据库的融懈ML型数据库。&&&& 第三章:XML解析技术分析。&&&&本章主要针对XML技术的关键解析技术进行研究和分析。&&&&主要对传统解析方法DOM和SAX进行研究,并与新型的解析技术StAX,VTD.XML进行算法上的研究和性能上的比较。&&&&确定适用于项目的解析技术。&&&& 第四章:XML解析API。&&&&主要针对XML解析技术的可移植性和兼容性展开研究。&&&&主要研究在编程语言和脚本语言中支持各种XML解析的API;并就在编程语言和脚本语言中处理同一问题的效率进行研究。&&&&找出适合项目的平台和环境的解决方案。&&&& 第五章:XML文件产生器的算法理论设计。&&&&主要是阐述了.
【】【】【】【】【】

我要回帖

更多关于 markup language 的文章

 

随机推荐