发明名称 基于可变内存预申请及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室