论文部分内容阅读
目前,XML(Extensible Markup Language)文档已被广泛用于电子商务、B2B通信、企业信息交换/集成、信息发布等应用领域。低效的XML解析会导致过度的内存消耗和过长的处理时间,成为低资源消耗和高性能应用的瓶颈。 StAX(Streaming API for XML)是为了加强用户对XML解析过程的控制而提出的处理XML文档的API。它允许用户以pull模式从XML流中解析事件,也允许将事件写入到XML文档中。与已有的处理XML文档的SAX、DOM相比,StAX具有其他解析方式所不具有的灵活性。本文重点研究了高性能的StAX解析器的设计与实现。 我们在详细分析了XML语法产生式的基础上,进行了下推自动机的设计,给出了StAXParser的设计,并介绍了StAXParser各个组成模块的设计和实现,实现了对XML文档的良构性解析。 随之,我们以软件工程相关理论为指导,对StAXParser进行了全面的XML兼容性测试。为此,我们设计了测试框架,并利用测试工具进行了自动化测试,保证了测试的高效率和高质量。同时,我们进行了API兼容性测试,使其成为了完善的基于事件的流式解析器。 最后,我们以XML Test为测试基准,进行了严格细致的性能测试工作,利用Boland Optimizeit和JProfiler等测试工具和自写代码进行了性能监测与跟踪,寻找性能瓶颈,并采用算法级和语言级的各项优化策略持续进行性能改进,使得StAXParser达到了比较好的性能指标。