XML文件解析方法及相关设备技术

技术编号:25890504 阅读:17 留言:0更新日期:2020-10-09 23:31
本发明专利技术涉及文件解析技术领域,提供一种XML文件解析方法及相关设备。所述文件解析方法获取XML文件和所述XML文件对应的实体类;生成所述实体类的属性注解;根据所述属性注解将所述实体类的多个属性存储至第一键值映射表;根据所述第一键值映射表获取所述XML文件中的XML数据,得到存储所述XML数据的第二键值映射表;将所述实体类实体化为类对象;根据所述第二键值映射表将所述XML数据赋值给所述类对象。本发明专利技术能够提升解析XML文件的效率。

【技术实现步骤摘要】
XML文件解析方法及相关设备
本专利技术涉及文件解析
,具体涉及一种XML文件解析方法、装置、计算机设备及计算机可读存储介质。
技术介绍
随着web开发的日益流行,数据交互也越发的重要。无论是前端和后端之间的交互,还是客户端和服务器之间的交互,或是不同服务器之间的交互都体现了数据的交互。而网络的本质就是一个数据之间互相传递、互相修改、互相影响的拓扑结构。为了解决数据之间的传递问题,国际之间渐渐形成了规范:基于一定格式的传递方式,如XML(ExtensibleMarkupLanguage,扩展标记语言)。XML是一种通用的数据交互格式,它的平台无关性、语言无关性、系统无关性给数据集成与交互带来了极大的方便。因此,XML一直占据巨大的数据交互的份额。但是,对于XML文件,通常需要程序员根据当前的业务来书写相应的解析方法。目前的XML文件解析方法使用范围小且重复利用率低,对XML文件的解析效率较低。
技术实现思路
鉴于以上内容,有必要提出一种XML文件解析方法、装置、计算机设备及计算机可读存储介质,其可以提升解析XML文件的效率。本申请的第一方面提供一种XML文件解析方法,所述文件解析方法包括:获取XML文件和所述XML文件对应的实体类;生成所述实体类的属性注解;根据所述属性注解将所述实体类的多个属性存储至第一键值映射表;根据所述第一键值映射表获取所述XML文件中的XML数据,得到存储所述XML数据的第二键值映射表;将所述实体类实体化为类对象;根据所述第二键值映射表将所述XML数据赋值给所述类对象。另一种可能的实现方式中,所述生成所述实体类的属性注解包括:生成所述属性子注解的定义代码,所述定义代码中的生命周期属性为运行期;若所述定义代码中存在所述实体类的指定属性的默认值,将所述指定属性的默认值赋值给所述指定属性对应的指定属性子注解;若所述定义代码中不存在所述实体类的指定属性的默认值,将所述指定属性的声明名赋值给所述指定属性子注解。另一种可能的实现方式中,所述将所述指定属性的声明名赋值给所述指定属性子注解包括:对所述指定属性的声明名进行格式转换,使格式转换后的声明名符合所述指定属性子注解的格式标准;将所述格式转换后的声明名赋值给所述指定属性子注解。另一种可能的实现方式中,所述根据所述属性注解将所述实体类的多个属性存储至第一键值映射表包括:通过反射方法根据所述属性注解获取所述实体类的类名和所述实体类的多个属性;将所述实体类的类名和所述实体类的多个属性存储至所述第一键值映射表的key值。另一种可能的实现方式中,所述根据所述第一键值映射表获取所述XML文件中的XML数据包括:将所述XML文件读取为文件对象;根据所述第一键值映射表的key值确定所述文件对象的类节点和所述类节点的指定属性子节点;在所述第一键值映射表中将所述指定属性子节点的值赋值给所述指定属性子节点对应的key值的value值。另一种可能的实现方式中,所述根据所述第二键值映射表将所述XML数据赋值给所述类对象包括:依次获取所述第二键值映射表中的键值数据对;将所述类对象中属性名与该键值数据对的key值一致的属性确定为目标属性;将该键值数据对的value值赋值给所述目标属性。另一种可能的实现方式中,所述将该键值数据对的value值赋值给所述目标属性包括:判断所述实体类中是否存在set方法;若所述实体类中存在set方法,通过set方法将该键值数据对的value值赋值给所述目标属性。本申请的第二方面提供一种XML文件解析装置,所述文件解析装置包括:第一获取模块,用于获取XML文件和所述XML文件对应的实体类;生成模块,用于生成所述实体类的属性注解;存储模块,用于根据所述属性注解将所述实体类的多个属性存储至第一键值映射表;第二获取模块,用于根据所述第一键值映射表获取所述XML文件中的XML数据,得到存储所述XML数据的第二键值映射表;实体化模块,用于将所述实体类实体化为类对象;赋值模块,用于根据所述第二键值映射表将所述XML数据赋值给所述类对象。本申请的第三方面提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述XML文件解析方法。本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述XML文件解析方法。本专利技术可以解析XML文件,能够提升解析XML文件的效率。传统的解析方法,必须参照XML标签及其属性逐一解析,工作量较大、任务较繁琐。本专利技术只需要生成所述实体类的属性注解;根据所述属性注解获取XML数据并将XML数据赋值给类对象。提升解析效率,从而提高了开发效率,节省了开发时间。附图说明图1是本专利技术实施例提供的XML文件解析方法的流程图。图2是本专利技术实施例提供的XML文件解析装置的结构图。图3是本专利技术实施例提供的计算机设备的示意图。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施例对本专利技术进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。优选地,本专利技术的XML文件解析方法应用在一个或者多个计算机设备中。所述计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程门阵列(Field-ProgrammableGateArray,FPGA)、数字处理器(DigitalSignalProcessor,DSP)、嵌入式设备等。所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。实施例一图1是本专利技术实施例一提供的XML文件解析方法的流程图。所述XML文件解析方法应用于计算机设备,用于解析XML文件,能够提升解析XML文件的效率。如图1所示,所述XML文件解析方法包括:101,获取XML文件和所述XML文件对应的实体类。本文档来自技高网
...

【技术保护点】
1.一种XML文件解析方法,其特征在于,所述文件解析方法包括:/n获取XML文件和所述XML文件对应的实体类;/n生成所述实体类的属性注解;/n根据所述属性注解将所述实体类的多个属性存储至第一键值映射表;/n根据所述第一键值映射表获取所述XML文件中的XML数据,得到存储所述XML数据的第二键值映射表;/n将所述实体类实体化为类对象;/n根据所述第二键值映射表将所述XML数据赋值给所述类对象。/n

【技术特征摘要】
1.一种XML文件解析方法,其特征在于,所述文件解析方法包括:
获取XML文件和所述XML文件对应的实体类;
生成所述实体类的属性注解;
根据所述属性注解将所述实体类的多个属性存储至第一键值映射表;
根据所述第一键值映射表获取所述XML文件中的XML数据,得到存储所述XML数据的第二键值映射表;
将所述实体类实体化为类对象;
根据所述第二键值映射表将所述XML数据赋值给所述类对象。


2.如权利要求1所述的XML文件解析方法,其特征在于,所述生成所述实体类的属性注解包括:
生成所述属性子注解的定义代码,所述定义代码中的生命周期属性为运行期;
若所述定义代码中存在所述实体类的指定属性的默认值,将所述指定属性的默认值赋值给所述指定属性对应的指定属性子注解;
若所述定义代码中不存在所述实体类的指定属性的默认值,将所述指定属性的声明名赋值给所述指定属性子注解。


3.如权利要求1所述的XML文件解析方法,其特征在于,所述将所述指定属性的声明名赋值给所述指定属性子注解包括:
对所述指定属性的声明名进行格式转换,使格式转换后的声明名符合所述指定属性子注解的格式标准;
将所述格式转换后的声明名赋值给所述指定属性子注解。


4.如权利要求1所述的XML文件解析方法,其特征在于,所述根据所述属性注解将所述实体类的多个属性存储至第一键值映射表包括:
通过反射方法根据所述属性注解获取所述实体类的类名和所述实体类的多个属性;
将所述实体类的类名和所述实体类的多个属性存储至所述第一键值映射表的key值。


5.如权利要求1所述的XML文件解析方法,其特征在于,所述根据所述第一键值映射表获取所述XML文件中的XML数据包括:
将所述XML文件读取为文件对象;
根据所述第一键值映射表的key值确定所...

【专利技术属性】
技术研发人员:谢继坚张依高原
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1