学位论文 > 优秀研究生学位论文题录展示

一种基于DOM的XML解析器的设计与实现

作 者: 赵辉
导 师: 陶世群
学 校: 山西大学
专 业: 计算机软件与理论
关键词: XML 解析器 DOM(文档对象模型) SAX(基于XML的简单应用编程接口) 哈希表
分类号: TP311.1
类 型: 硕士论文
年 份: 2005年
下 载: 672次
引 用: 8次
阅 读: 论文下载
 

内容摘要


在因特网和电子商务迅猛发展的今天,可扩展标记语言(XML)作为Internet上信息交换和计算的新型载体和标准,得到了广泛的应用。在数据交换领域中它起到了不可替代的作用。XML解析器是基于XML的信息处理的基础,要充分地使用XML文档中的信息,就必须对XML进行高效的解析。当前主要的解析方法主要有两种:DOM解析和SAX解析。DOM是一个基于树型的解析技术,它在内存中构建了一棵完整的解析树。它可以实现对整个XML文档全面动态的访问。SAX是一个用于处理XML的事件驱动的“推”模型,是一个轻量级的接口。它不是W3C标准,但它是一个得到了广泛认可的API,是大多数SAX解析器在实现的时候都遵循标准。SAX解析不像DOM解析那样建立一个整个文档的树型表示,而是在读取文档时激活一系列的事件。这些事件被推给事件处理器,而事件处理器则提供对文档内容的访问。缺点是不能够随机地访问XML文档,不支持在原地修改XML。 当前在使用W3C标准的DOM解析方法解析XML文档时,要按照文档中的元素在内存中构建一棵完整的树。但是随着XML文档尺寸的增加,解析所需消耗的内存空间会非常可观并且需过长的处理时间。因此,设法降低解析时内存的占用空间和减少处理时间,对提高系统的解析效率是十分有意义的。 本文针对在DOM解析方法中的不足之处,提出了一种基于DOM的新解析算法——“延迟展开与减少冗余算法”,能较好地解决大量消耗内存的问题,并减少系统冗余,提高了系统的解析效率。 本文的主要工作如下: (1) 依照DOM解析的原理,设计了一个基于DOM解析方式的XML通用解析器,实现了文档的有效性验证、操纵文档树的各种操作、文档树的串行化输出等功能。 (2) 在分析通用的DOM解析方式的基础上,对在文档特别大的时候大量占用内存的缺点提出了一种改进的解析算法——延迟展开与减少冗余算法。使用这种算法能较好的解决大量消耗内存的问题,并减少系统冗

全文目录


第一章 引言  11-15
  1.1 课题的背景及意义  11-12
  1.2 国内外研究动态  12-14
  1.3 本文的主要研究内容  14-15
第二章 XML文档类型及应用  15-22
  2.1 HTML面临的困境  15
  2.2 XML的产生和特点  15-17
  2.3 XML的应用领域  17-18
  2.4 XML四种文档介绍  18-22
    2.4.1 XML文档  18-19
    2.4.2 DTD文档  19-20
    2.4.3 Schema文档  20
    2.4.4 XSL文档  20-22
第三章 传统的解析算法回顾及课题的提出  22-29
  3.1 DOM解析器  22-23
    3.1.1 DOM工作原理  22-23
    3.1.2 DOM特点  23
  3.2 SAX解析器  23-25
    3.2.1 SAX工作原理  23-25
    3.2.2 SAX特点  25
  3.3 XML文档的解析  25-27
    3.3.1 创建解析器  25-26
    3.3.2 设置解析器  26-27
    3.3.3 分析XML文件  27
    3.3.4 处理解析错误  27
    3.3.5 处理解析结果  27
  3.4 课题的提出  27-29
第四章 一种XML解析器的设计与实现  29-38
  4.1 解析器的总体设计框架  29-30
  4.2 系统功能的实现  30-32
    4.2.1 解析器功能的实现  30
    4.2.2 验证功能的实现  30-31
    4.2.3 串行化功能的实现  31-32
  4.3 基于DOM解析器的关键算法  32-38
第五章 基于延迟展开与减少冗余解析法的设计与实现  38-43
  5.1 基于上面DOM方法的分析  38
  5.2 延迟展开与减少冗余算法的提出  38
  5.3 算法的设计思想及实现  38-43
    5.3.1 设计思想  38-39
    5.3.2 算法的实现  39-43
第六章 算法分析与进一步优化方案  43-47
  6.1 算法的分析  43
  6.2 算法的进一步优化方案  43-47
    6.2.1 哈希函数的构造  44-45
    6.2.2 冲突处理的方法  45
    6.2.3 解析中使用哈希表的算法分析  45-47
第七章 试验结果  47-48
第八章 结束语  48-49
参考文献  49-51
致谢  51-52
附录  52-53
承诺书  53

相似论文

  1. 基因调控网络模型描述语言研究,Q78
  2. 支持XML数据查询的F&B索引结构的研究,TP311.13
  3. LXI自动测试系统集成技术研究,TP274
  4. 基于网络的服装款式设计系统的研究与实现,TS941.2
  5. 基于MDA的界面自动生成方法的研究,TP311.5
  6. C++代码缺陷检测系统的研究与设计,TP311.53
  7. 基于Web的科学计算遗留应用共享技术研究,TP393.09
  8. 基于XML的异构数据交换系统的设计与实现,TP311.52
  9. 电子公文传输管理系统在电大系统中的设计与实现,TP311.52
  10. 概率XML数据上关键字检索算法的研究与实现,TP391.3
  11. 行政审批电子监察系统数据交换的设计与实现,TP311.52
  12. 概率XML文档中Holistic Twig查询处理算法的研究与实现,TP311.13
  13. 保留语义约束的XML与关系数据库双向转换技术研究,TP311.13
  14. SOA架构在高校信息化系统中整合技术的应用,TP311.52
  15. 基于银行综合前置平台的金融服务支付系统的设计与实现,TP311.52
  16. 基于观察者模式的银行主动服务系统的设计与实现,TP311.52
  17. 一种WinCE环境下嵌入式浏览器的设计与开发,TP393.092
  18. 江北区企业信用信息系统设计与实现,TP311.52
  19. 物联网业务模型描述语言的研究与实现,TN929.5
  20. 基于服务总线的模具企业信息集成系统,TP311.52
  21. 基于语言转换的嵌入式软PLC系统的研究与设计,TP273

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 程序设计
© 2012 www.xueweilunwen.com