发明名称 |
基于可变内存预申请及HASH的快速XML解析方法 |
摘要 |
本发明公开了一种基于可变内存预申请及HASH的快速XML解析方法,其包括以下步骤:步骤一:读取XML文档到Xml Content,并生成Document的Xml Root Node节点;步骤二:对Xml Content进行语法分析,解析XML文档;语法分析指示解析部分的分类,进行不同分支的处理;步骤三:若分析结果为Node,则会进入迭代算法;步骤四:存放Attribute信息,进行兄弟Attribute的关系链接,并进行Node-Attribute关系的链接;步骤五:进行XML文档的任意元素节点的查询。本发明通过可变预申请内存算法提高了XML解析的速度,使得应用能通过配置Hash索引开关快速定位。 |
申请公布号 |
CN103064859A |
申请公布日期 |
2013.04.24 |
申请号 |
CN201110324076.6 |
申请日期 |
2011.10.21 |
申请人 |
上海湾流仪器技术有限公司 |
发明人 |
浦晶 |
分类号 |
G06F17/30(2006.01)I |
主分类号 |
G06F17/30(2006.01)I |
代理机构 |
上海智信专利代理有限公司 31002 |
代理人 |
胡美强 |
主权项 |
一种基于可变内存预申请及HASH的快速XML解析方法,其特征在于,该解析方法包括以下步骤:步骤一:读取XML文档到Xml Content,并生成Document的Xml Root Node节点;步骤二:对Xml Content进行语法分析,解析XML文档;语法分析指示解析部分的分类,进行不同分支的处理;步骤三:若分析结果为Node,则会进入迭代算法,通过Xml Free Node Linklist从预申请内存Static Node List中,取出第一个节点,存放Node信息,并进行父子Node关系的链接;对于兄弟关系的Node的连接处理,使用链表方式关联,若Hash索引开关开启,同时根据其Node名称为键值使用Hash进行链接;步骤四:若分析结果为Node下属的Attribute,则通过Xml Free Attribute Linklist从预申请内存Static Attribute List中,取出第一个节点,存放Attribute信息,进行兄弟Attribute的关系链接,并进行Node‑Attribute关系的链接;步骤五:通过步骤三、步骤四的迭代算法之后,整个XML文档已映射为Document内存树,在此基础上,可进行XML文档的任意元素节点的查询;若Hash索引开关开启,通过Hash索引搜索;若Hash索引开关关闭,通过Document树遍历搜索。 |
地址 |
200030 上海市徐汇区乐山路33号1号楼310室 |