[发明专利]一种XML报文比对方法及系统有效
申请号: | 201910760424.0 | 申请日: | 2019-08-16 |
公开(公告)号: | CN110457527B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 唐银 | 申请(专利权)人: | 安徽航天信息有限公司 |
主分类号: | G06F16/84 | 分类号: | G06F16/84 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 赵伟 |
地址: | 230088 安徽省*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 xml 报文 方法 系统 | ||
本发明属于XML报文比对技术领域,公开了一种XML报文比对方法及系统,其XML报文比对方法,包括:分别获取两个待比较的XML文件内容,将所述两个待比较的XML文件按空格、换行符拆分为数据集;对两个数据集分别按对应XML节点排序,将排序后的数据集的内容逐行比较得到比对结果;本发明提供的这种XML报文比对方法及系统,可以消除节点顺序、字段顺序对XML报文比对结果的影响,找到两个XML报文的之间的真实区别;相对现有的客户端和在线比对的方式,本发明提供的这种比对方法及系统,可提供对外的接口接受XML文件或XML字符串,针对XML节点先排序再比对,可以得到更加真实的比对结果,最终的比对结果可以采用json格或HTML形式进行反馈,覆盖场景更广。
技术领域
本发明属于XML文件比对技术领域,更具体地,涉及一种XML报文比对方法及系统。
背景技术
XML格式的文件可以用于数据交换和传递(webservice接口)。一般或设置一个标准XML报文,处理过程中还会生成一个或多个根据数据拼接而成的XML报文,理论上标准XML报文与拼接而成的XML报文在格式和字段上应保持一致,仅数据有差异。但实际上拼接而成的报文在字段顺序上常常与标准报文存在差异。在接口请求或返回异常时,需要分析拼接而成的XML报文与标准XML报文之间的区别;
传统的XML文件比对方法一般是基于电脑客户端或在线的字符串比对。基于电脑客户端的XML文件比对方式的主要缺点是闭源,只能在客户端操作,无法在外部程序调用;而在线的字符串比对一般扩展不够,只比对两个文件相同行的字符串是否一致,无法将XML节点以统一的顺序排序后再做比较,也没有提供开放的接口,也无法在外部程序调用。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种XML报文比对方法及系统,其目的在于排除XML报文内字段顺序对报文差异比对结果的影响,确定两个XML报文之间的实际内容差异。
为实现上述目的,按照本发明的一个方面,提供了一种XML报文比对方法,包括如下步骤:
(1)分别获取两个待比较的XML文件内容,将所述两个待比较的XML文件按空格、换行符拆分为数据集;
(2)将获得的两个数据集逐行比较得到比对结果。
优选地,上述的XML报文比对方法,在步骤(2)之前还包括对所述数据集按对应XML节点排序的步骤。
优选地,上述XML报文比对方法,对数据集分别按对应XML节点排序的方法具体如下:
(a)将XLM文件转换为json文件;
(b)基于转换得到的json文件,按照统一规则将同级节点内的内容进行排序;
(c)检查排序后的文件与排序前的文件,以确保排序前、后文件的一致性。
优选地,上述XML报文比对方法,在同级节点间进行排序的规则为按节点的ASCII码的大小顺序进行排序。
优选地,上述XML报文比对方法,比对结果以json格式输出,或将比对结果转换成HTML格式输出。
为实现本发明目的,按照本发明的另一个方面,提供了一种XML报文比对系统,包括:
源数据获取模块,用于将两个XML文件作为比对数据源;
XML文件拆分模块,用于获取待比较的两个XML文件内容,将两个待比较的XML文件分别按空格、换行符拆分为数据集;
比较模块,用于将获得的两个数据集逐行比较,得到比对结果。
优选的,上述XML报文比对系统,还包括
XML节点排序模块,用于对拆分得到的数据集按XML节点进行排序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽航天信息有限公司,未经安徽航天信息有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910760424.0/2.html,转载请声明来源钻瓜专利网。