[发明专利]一种XML文档处理方法、装置、电子设备及存储介质在审
申请号: | 202111461261.X | 申请日: | 2021-12-03 |
公开(公告)号: | CN114253548A | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 杨泰贤;何渝君;汪玉东;成正林;唐茂文;舒忠玲;邬明罡 | 申请(专利权)人: | 瀚云科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/73 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 刘凤 |
地址: | 214000 江苏省无锡市无锡新区新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 xml 文档 处理 方法 装置 电子设备 存储 介质 | ||
本申请提供了一种XML文档处理方法、装置、电子设备及存储介质,获取待解析XML文档及待解析XML文档中的至少一个待解析属性;确定待解析属性是否存在对应的类模板文档,若存在,则对类模板文档进行标注;针对每个待解析属性,确定待解析属性对应的类模板文档的标注中是否存在对应的元数据;若存在,则基于对应的元数据进行解析,以获取待解析属性对应的实体类对象,用于提供一种应对复杂的多层嵌套XML的解析方法,以提高开发人员的编码效率。
技术领域
本申请涉及文件解析技术领域,具体而言,涉及一种XML文档处理方法、装置、电子设备及存储介质。
背景技术
现有技术中,XML作为扩展标记语言应用广泛,而对XML解析,现有的一种方法为:通过定义属性注解,建立实体类属性与XML文档中所需属性的映射关系,利用反射原理,解析XML中相应属性值赋值给实体类。这种方法在查找实体类属性对应路径时容易出错。在实际应用中,部分XML中所要提取的属性有的放在标签的属性中,有的则放在了两个标签之间的Text中,且XML嵌套层级达到5层以上,相同的属性大量存在于同一个XML文档之中。通过上述方法应对这种复杂XML文档解析就显得力不从心,需要开发人员编辑很多重复代码,因此亟需一种应对复杂的多层嵌套XML文档的解析方法。
发明内容
有鉴于此,本申请的目的在于提供一种XML文档处理方法、装置、电子设备及存储介质,用于提供一种应对复杂的多层嵌套XML的解析方法,以提高开发人员的编码效率。
第一方面,本申请实施例提供一种XML文档处理方法,包括:
获取待解析XML文档及待解析XML文档中的至少一个待解析属性;确定待解析属性是否存在对应的类模板文档,若存在则对类模板文档进行标注;针对每个待解析属性,确定待解析属性对应的类模板文档的标注中是否存在对应的元数据;若存在,则基于对应的元数据进行解析,以获取待解析属性对应的实体类对象。
优选地,通过以下方式确定待解析属性对应的类模板文档:针对每个待解析属性,确定该待解析属性对应的根属性节点;根据该根属性节点确定对应的实体类全路径名;根据该根属性节点对应的实体类全路径名匹配对应的类模板文档。
优选地,通过以下方式对类模板文档进行标注:根据待解析XML文档确定与该类模板文档相同类的元数据;将该元数据中的每个元数据的属性与类模板文档中的属性匹配,并生成对应的元数据映射表,元数据映射表的键为类模板文档的类名称,元数据映射表的键值为该类名称对应的元数据信息;其中,元数据信息包括元数据在类模板文档中的位置、元数据对应的类名称和元数据属性映射表。
优选地,元数据属性映射表的键为该元数据中每个元数据属性,键值为用于解析该元数据属性的元数据解析信息,其中,元数据解析信息包括该元数据属性的全路径名、该元数据属性的解析位置和该元数据属性的附加属性,元数据的附加属性为该元数据属性的子节点属性中的至少一个。
优选地,通过以下方式确定元数据的全路径名:将该元数据属性确定为目标属性节点;将该元数据属性对应的类名称确定为根属性节点;确定根属性节点至目标属性节点路径上的至少一个属性节点,并按顺序拼接以生成元数据的全路径名。
优选地,实体类对象包括目标类名称、多个目标属性和与目标属性对应的目标属性值,通过以下方式获取待解析属性对应的实体类对象:将该待解析属性对应的类模板文档的类名称确定为目标类名称;针对每个待解析属性,确定出该待解析属性对应的元数据属性;将该待解析属性和该待解析属性对应的元数据属性的附加属性,确定为多个目标属性;根据元数据属性映射表,确定每个目标属性对应的目标属性值。
优选地,通过以下方式确定每个目标属性对应的目标属性值:根据该目标属性对应的元数据属性,获取对应的元数据属性的解析位置;根据该元数据属性的解析位置,确定该目标属性对应的目标属性值。
第二方面,本申请实施例还提供一种XML文档处理装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瀚云科技有限公司,未经瀚云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111461261.X/2.html,转载请声明来源钻瓜专利网。