《现代电子技术》2006年第21期摘录:鱼雷等:VTD—XML解析技术
-
如发现有乱码,请点击下面链接浏览原文
正文摘录:
鱼雷等:VTD—XML解析技术研究发展产生巨大的影响。4性能比较据VTD—XML的官方网站的研究发现H]:VTD—XML的解析速度是SAX(withNULLcontenthandier)的1.5x~2.0x。WithNULLcontenthandler的意思就是说SAX解析中没有插入任何额外的处理逻辑,也就是SAX的最高速度。VTD—XML的内存占用是原XML的1.3x~1.5x(其中1.0x的部分是原XMI.,0.3x~0.5x是VTD—XML占用的部分),而DOM的内存占用则是原XML的5x~10x。举一个例子,如果一个XML的大小是50MB,那么用VTD—XML读取进来内存占用会在65~75MB之间,而DOM的内存占用则会在250~500MB之间。基于这个数据用DOM处理大的XML文件几乎是不可能的选择。以下是DOM,SAX和VTD三种XML解析方法的性能测试结果“],如表1所示:表1VTD—XML.DOM和SAX性能比较文件名VTD—XMLVTD—XMLDOMDOMSAXSAX(单位MB)(耗时)(MB/s)(耗时)(MB/s)(耗时)(MB/s)不难看出VTD—XML有着优越的特性,而且基于他现在的处理方式,完全可以支持将来的二进制XML标准,并通过二进制化将XML的应用推向更高一层楼。5可视化XML集成解析环境的实现在对XML解析的各种常用技术进行了深入研究之后,本文提出了一种可视化XML集成解析环境。这个解析环境使用JavaSwing进行了用户界面的开发“],创建了一个通用平台的XML集成解析环境。其主要目的是实现对XMI.文件解析的可视化管理,并着重解决DOM在解析大文件时速度太慢,内存占用过高,甚至不能正常解析的情况,以及SAX没有结构信息,无法遍历,不支持XPath的缺点。本系统的结构如图2所示。模块功能说明:可视化管理模块提供给用户友好的操作界面,使用户能方便的管理该系统的各个功能子模块。作者简介鱼雷男,1982年出生,硕士研究生。智能分类解析模块负责将XML文件按其文件大小,并根据主机的性能,分发给不同的XML解析器(DOM,SAX,VTD—XML等),使其能够以最快速度解析XML文件。根据文件的不同来源或用途,将文件交给不同的应用程序进行处理。解析XML文件模块负责将XML按分类规则进行相应解析和程序处理。维护各种编程程序管理员对不同的应用程序进行日常维护。维护各种解析方法管理员对不同的解析方法进行日常维护,并根据XML解析方法的发展及时更新。由于该系统采用了模块化设计,使得不同解析器及其相应的软件程序可以方便地移植到该系统中,提高了代码的重用性,大大减少了程序员的工作量。XML集成解析环境可视化管理模块XML解析模块解析编程管理模块对箨模块JJ钾能分类JJ解析XMLJJ维护各种Jl维护各种进行管理Il解析模块ll文件模块Il编程程序lI解析方法6结语图2可视化XML集成解析系统结构XML解析是XML文件处理中的重要一环,本文在介绍了两种常见的XML解析方法DoM和SAX后,重点介绍了一种新的XML解析方法VTD—XML,并对他们的性能做了比较,说明了不同解析方法之间的优劣。在此基础上,本文设计了一种可视化XML集成解析系统。参考文献[1]WorldWideWebConsortium.ExtensibleMarkupLanguage(XML)1.0,3rdfEB/OL].http://www.w3.org,2004.E2]JimmyZhang.XMLonaChip[EB/OL].http://www.xml.com/pub/a/2005/03/09/chip.html.2005.[3]JimmyZhang.AQuiekOverviewonVirtualTokenDescrip—tor[EB/OL].http://vtd—xml.sourceforge.net/VTD.ht—m1.2005.[4]Cavingdeep.新兴XML处理方法VTD—XML介绍[EB/OL].http:||www.cnblogs.com/cavingdeep/arehive/2006/03/15/350456.html.2006.[5]JimmyZhang.ProcessI。argeXMLFileswithVTD—XML[EB/OI,].http://www.devx.com/xml/Article/30484.2006.[6]RogersCadenhead,21天学通Java2[M~.3版.北京:人民邮电出版社,2004.
阅读此文(图):
点击此处在线翻阅