[发明专利]可扩展标记语言XML文件解析方法及装置在审
申请号: | 201710571087.1 | 申请日: | 2017-07-13 |
公开(公告)号: | CN107436929A | 公开(公告)日: | 2017-12-05 |
发明(设计)人: | 林强;罗秋科;李素彩;张楠;李健华;贾建华;杜景荣 | 申请(专利权)人: | 中国物品编码中心 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 杨泽,刘芳 |
地址: | 100029 北京市东城区安*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 扩展 标记 语言 xml 文件 解析 方法 装置 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种可扩展标记语言XML文件解析方法及装置。
背景技术
可扩展标记语言(Extensible Markup Language,简称XML)可以对文档和数据进行结构化处理,这使XML很快成为了一种通用的数据交换格式。其具有的平台无关性及语言无关性为数据交互带来了极大的便利。
但是,随着互联网的迅猛发展,需要交互的数据越来越多,当一个平台将数据以大量的XML报文形式上报到另一个平台时,该平台需要将这些数据进行解析,并将解析结果以及解析出的内容回传,便于后续两个平台之间的信息反馈和数据分析。在整个交互过程中,XML报文所承载的信息量也越来越大,从而使得在解析XML文件,生成结构树时,解析速度慢,需要长时间地占用大量内存,使得解析效率较低。
发明内容
本发明提供一种XML文件解析方法及装置,以实现在解析XML文件的同时,降低内存占用,提高XML文件的解析效率。
本发明实施例提供一种可扩展标记语言XML文件解析方法,包括:
将待解析的XML文件以数组的形式读取至内存;
在所述内存中,通过VTD技术对所述待解析的XML文件进行解析。
在本发明一实施例中,所述在所述内存中,通过VTD技术对所述待解析的XML文件进行解析,包括:
对所述VTD技术中的应用程序接口API进行封装,得到封装后的VTD类图,所述VTD类图的结构包括:嵌套深度、节点长度、标记类型、前缀长度、令牌长度及令牌起始偏移量;
在所述内存中,通过所述VTD类图对所述待解析的XML文件进行解析。
在本发明一实施例中,所述在所述内存中,通过所述VTD类图对所述待解析的XML文件进行解析,包括:
根据所述VTD类图对所述待解析的XML文件的报文头进行解析,得到所述待解析的XML文件的数据类型;
根据所述数据类型对所述待解析的XML文件的报文体进行解析。
在本发明一实施例中,所述在所述内存中,通过VTD技术对所述待解析的XML文件进行解析之后,还包括:
通过所述数组确定所述待解析的XML文件的物理存储地址;
对所述物理存储地址进行解码,以获取所述待解析的XML文件的数据信息。
在本发明一实施例中,所述将待解析的XML文件以二进制数组形式读取至内存之前,还包括:
判断所述待解析的XML文件的有效性;
确定所述待解析的XML文件为有效的XML文件。
本发明实施例还提供一种可扩展标记语言XML文件解析装置,包括:
读取单元,用于将待解析的XML文件以数组的形式读取至内存;
解析单元,用于在所述内存中,通过VTD技术对所述待解析的XML文件进行解析。
在本发明一实施例中,所述解析单元,具体用于对所述VTD技术中的应用程序接口API进行封装,得到封装后的VTD类图,所述VTD类图的结构包括:嵌套深度、节点长度、标记类型、前缀长度、令牌长度及令牌起始偏移量;并在所述内存中,通过所述VTD类图对所述待解析的XML文件进行解析。
在本发明一实施例中,所述解析单元,具体用于根据所述VTD类图对所述待解析的XML文件的报文头进行解析,得到所述待解析的XML文件的数据类型;并根据所述数据类型对所述待解析的XML文件的报文体进行解析。
在本发明一实施例中,该XML文件解析装置还包括:
确定单元,用于通过所述数组确定所述待解析的XML文件的物理存储地址;
获取单元,用于对所述物理存储地址进行解码,以获取所述待解析的XML文件的数据信息。
在本发明一实施例中,该XML文件解析装置还包括:
判断单元,用于判断所述待解析的XML文件的有效性;并确定所述待解析的XML文件为有效的XML文件。
本发明实施例提供的XML文件解析方法及装置,通过先将待解析的XML文件以数组的形式读取至内存中,之后在内存中,通过VTD技术对待解析的XML文件进行解析。由此可见,本发明提供的XML文件解析方法及装置,在对XML文件进行解析时,先将待解析的XML文件以数组的形式读取至内存中,而无需生成结构树,可以降低内存的占用,此外,通过VTD技术对待解析的XML文件进行解析,使得将待解析的XML文件划分为不同的数据块,再对这些数据块进行解析,从而提高了XML文件的解析效率。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国物品编码中心,未经中国物品编码中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710571087.1/2.html,转载请声明来源钻瓜专利网。