CN113761879B - 报文格式校验方法、装置以及存储介质 - Google Patents
报文格式校验方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN113761879B CN113761879B CN202010485555.5A CN202010485555A CN113761879B CN 113761879 B CN113761879 B CN 113761879B CN 202010485555 A CN202010485555 A CN 202010485555A CN 113761879 B CN113761879 B CN 113761879B
- Authority
- CN
- China
- Prior art keywords
- message
- rule
- information
- check
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000007717 exclusion Effects 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 10
- 238000012360 testing method Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种报文格式校验方法、装置以及存储介质,涉及计算机技术领域,其中的方法包括:基于报文规则信息确定与标签相对应的属性以及属性的属性值,用以生成校验规则文件;解析待校验报文,获取待校验报文中的报文节点信息;解析校验规则文件,获取校验规则信息;基于校验规则信息对报文节点信息进行校验,获取校验结果。本公开的方法、装置以及存储介质,可以对报文的正确性进行自动化检验,提高开发和测试的效率;利用报文标签生成规则文件,不扩展原有的标签,校验规则简便,能够减少开发工作量,并可以提高报错准确性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种报文格式校验方法、装置以及存储介质。
背景技术
在接口开发和测试过程中,通常使用XML等格式的报文作为媒介进行数据交互。例如,在采用netconf协议与设备进行通信的场景中,大量接口需要进行测试,通过人工对XML格式的报文进行判断合法性不仅费时费力,也容易出错;但利用XML schema校验方法,开发出的schema校验规则文件复杂,可能比XML格式的报文更加冗长,不利于理解代码,而且报错信息不全,检验不准确并且不可控。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种报文格式校验方法、装置以及存储介质。
根据本公开的一个方面,提供一种报文格式校验方法,包括:基于报文规则信息确定与标签相对应的属性以及所述属性的属性值,用以生成校验规则文件;解析待校验报文,获取所述待校验报文中的报文节点信息;解析所述校验规则文件,获取校验规则信息;基于所述校验规则信息对所述报文节点信息进行校验,获取校验结果。
可选地,基于第一文件路径和第二文件路径分别加载所述待校验报文和所述校验规则文件,并分别转换为对应的文件对象。
可选地,所述待校验报文包括:XML格式报文;所述解析待校验的报文,获取所述待校验报文中的报文节点信息包括:获取所述XML格式报文中的第一根节点;基于所述第一根节点进行搜索处理,获取所述XML格式报文中的全部第一子节点;生成与所述第一根节点、所述第一子节点相对应的全部报文节点信息;其中,所述报文节点信息包括所述标签。
可选地,所述校验规则文件包括:XML规则文件;所述解析所述校验规则文件,获取校验规则信息包括:获取所述XML规则文件中的第二根节点;基于所述第二根节点进行搜索处理,获取所述XML规则文件中的全部第二子节点;生成与所述第二根节点、所述第二子节点相对应的全部规则节点信息;基于所述规则节点信息获取所述校验规则信息。
可选地,所述规则节点信息包括:所述标签、所述属性和所述属性值;所述基于所述规则节点信息获取所述校验规则信息包括:在所述规则节点信息中提取所述标签、所述属性和所述属性值;根据所述属性和所述属性值生成与所述标签对应的所述校验规则信息。
可选地,所述基于所述校验规则信息对所述报文节点信息进行校验包括:基于与所述规则节点信息对应的标签与所述报文节点信息的标签之间的匹配关系,使用所述校验规则信息对所述报文节点信息进行校验;其中,所述XML格式报文和所述XML规则文件的格式相同。
可选地,如果判断所述全部报文节点信息中存在不符合所述校验规则信息的报文节点信息,则确定出现错误的报文节点信息以及错误原因。
可选地,基于所述出现错误的报文节点信息生成所述校验结果;其中,所述校验结果包括:标签信息、错误原因。
可选地,所述属性包括:标签存在特征属性、标签出现次数属性、标签类型属性、标签枚举值属性、标签匹配策略属性和标签互斥属性中的一个或多个。
根据本公开的一个方面,提供一种报文格式校验装置,包括:规则文件生成模块,用于基于报文规则信息确定与标签相对应的属性以及所述属性的属性值,用以生成校验规则文件;第一内容解析模块,用于解析待校验报文,获取所述待校验报文中的报文节点信息;第二内容解析模块,用于解析所述校验规则文件,获取校验规则信息;校验比对模块,用于基于所述校验规则信息对所述报文节点信息进行校验,获取校验结果。
可选地,文件加载模块,用于基于第一文件路径和第二文件路径分别加载所述待校验报文和所述校验规则文件,并分别转换为对应的文件对象。
可选地,所述待校验报文包括:XML格式报文;所述第一内容解析模块,用于获取所述XML格式报文中的第一根节点;基于所述第一根节点进行搜索处理,获取所述XML格式报文中的全部第一子节点;生成与所述第一根节点、所述第一子节点相对应的全部报文节点信息;其中,所述报文节点信息包括所述标签。
可选地,所述校验规则文件包括:XML规则文件;所述第二内容解析模块,用于获取所述XML规则文件中的第二根节点;基于所述第二根节点进行搜索处理,获取所述XML规则文件中的全部第二子节点;生成与所述第二根节点、所述第二子节点相对应的全部规则节点信息;基于所述规则节点信息获取所述校验规则信息。
可选地,所述规则节点信息包括:所述标签、所述属性和所述属性值;所述第二内容解析模块,具体用于在所述规则节点信息中提取所述标签、所述属性和所述属性值;根据所述属性和所述属性值生成与所述标签对应的所述校验规则信息。
可选地,所述校验比对模块,用于基于与所述规则节点信息对应的标签与所述报文节点信息的标签之间的匹配关系,使用所述校验规则信息对所述报文节点信息进行校验;其中,所述XML格式报文和所述XML规则文件的格式相同。
可选地,所述校验比对模块,还用于如果判断所述全部报文节点信息中存在不符合所述校验规则信息的报文节点信息,则确定出现错误的报文节点信息以及错误原因。
可选地,所述校验比对模块,还用于基于所述出现错误的报文节点信息生成所述校验结果;其中,所述校验结果包括:标签信息、错误原因。
根据本公开的又一方面,提供一种报文格式校验装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。
根据本公开的再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上的方法。
本公开的报文格式校验方法、装置以及存储介质,基于报文规则信息确定与标签相对应的属性以及属性的属性值,生成校验规则文件,解析校验规则文件获取校验规则信息用于进行校验;可以对报文的正确性进行自动化检验,提高开发和测试的效率;利用报文标签生成规则文件,不扩展原有的标签,能够减少开发工作量,校验规则简便,并可以提高报错准确性。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为根据本公开的报文格式校验方法的一个实施例的流程示意图;
图2为根据本公开的报文格式校验方法的一个实施例中的解析待校验报文的流程示意图;
图3为根据本公开的报文格式校验方法的一个实施例中的解析校验规则文件的流程示意图;
图4为根据本公开的报文格式校验方法的一个实施例中的进行校验的流程示意图;
图5为根据本公开的报文格式校验装置的一个实施例的模块示意图;
图6为根据本公开的报文格式校验装置的另一个实施例的模块示意图;
图7为根据本公开的报文格式校验装置的又一个实施例的模块示意图。
具体实施方式
下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。下面结合各个图和实施例对本公开的技术方案进行多方面的描述。
下文中的“第一”、“第二”等仅用于描述上相区别,并没有其它特殊的含义。
图1为根据本公开的报文格式校验方法的一个实施例的流程示意图,如图1所示:
步骤101,基于报文规则信息确定与标签相对应的属性以及属性的属性值,用以生成校验规则文件。
在一个实施例中,报文可以为多种,例如为XML格式报文等。可扩展标记语言,标准通用标记语言的子集,简称XML,是一种用于标记电子文件使其具有结构性的标记语言。标签包围在“<”和“>”之间,标准通用标记语言还定义了标签的特性属性。
获取待检验的XML格式报文的报文规则信息,报文规则包括标签的出现次数、互斥属性、类型等规则。属性包括标签存在特征属性、标签出现次数属性、标签类型属性、标签枚举值属性、标签匹配策略属性和标签互斥属性中的一个或多个。
校验规则文件可以为XML规则文件等。XML规则文件的格式与XML格式报文的格式相同,即XML规则文件的格式与XML格式报文具有相同的标签以及相同的结构。
步骤102,解析待校验报文,获取待校验报文中的报文节点信息。例如,XML格式报文为树形结构,报文节点信息与XML格式报文中的标签相对应,报文节点信息包括标签以及相应的值等。
步骤103,解析校验规则文件,获取校验规则信息。例如,对XML规则文件进行解析,获取校验规则信息。
步骤104,基于校验规则信息对报文节点信息进行校验,获取校验结果。
本公开基于报文规则信息确定与标签相对应的属性以及属性的属性值,生成校验规则文件,对设备返回的XML格式报文的正确性进行自动化检验,可大大减少开发工作量,校验规则简练,同时提高了报错的准确性,也可对报错信息进行自定义控制。
在一个实施例中,基于第一文件路径和第二文件路径分别加载待校验报文和校验规则文件,并分别转换为对应的文件对象。例如,输入两个XML文件的路径,将XML规则文件与XML格式报文加载到内存中并转化为File对象,将File对象转为XML对象;使用校验规则信息对XML格式报文进行校验对比,过程中发现错误将错误记录至错误缓冲区,最后校验完毕,将所有的错误信息进行输出,如果无错误则提示成功。
图2为根据本公开的报文格式校验方法的一个实施例中的解析待校验报文的流程示意图,如图2所示:
步骤201,获取XML格式报文中的第一根节点。
步骤202,基于第一根节点进行搜索处理,获取XML格式报文中的全部第一子节点。
步骤203,生成与第一根节点、第一子节点相对应的全部报文节点信息;报文节点信息包括标签等。
XML格式报文为树形结构,可以采用多种搜索算法进行遍历,获取全部报文节点信息。XML格式报文的每个XML标签都可以抽象为一个标签节点,区别在于名称和属性以及值不同,节点下可嵌套节点,对于每个标签节点都生成报文节点信息。
图3为根据本公开的报文格式校验方法的一个实施例中的解析校验规则文件的流程示意图,如图3所示:
步骤301,获取XML规则文件中的第二根节点。
步骤302,基于第二根节点进行搜索处理,获取XML规则文件中的全部第二子节点。
步骤303,生成与第二根节点、第二子节点相对应的全部规则节点信息。
步骤304,基于规则节点信息获取校验规则信息。规则节点信息包括标签、属性和属性值。
XML规则文件为树形结构,可以采用多种搜索算法进行遍历,获取全部规则节点信息。XML规则文件的每个XML标签都可以抽象为一个规则节点,对于每个规则节点都生成规则节点信息。基于规则节点信息中的标签、属性和属性值获取校验规则信息。
图4为根据本公开的报文格式校验方法的一个实施例中的进行校验的流程示意图,如图4所示:
步骤401,在规则节点信息中提取标签、属性和属性值。
步骤402,根据属性和属性值生成与标签对应的校验规则信息。
步骤403,基于与规则节点信息对应的标签与报文节点信息的标签之间的匹配关系,使用校验规则信息对报文节点信息进行校验。
XML格式报文和XML规则文件的格式相同,XML格式报文和XML规则文件中标签为一一对应,基于与规则节点信息对应的标签与报文节点信息的标签之间的对应关系,使用校验规则信息对报文节点信息进行校验。
如果判断全部报文节点信息中存在不符合校验规则信息的报文节点信息,则确定出现错误的报文节点信息以及错误原因。基于出现错误的报文节点信息生成校验结果,校验结果包括标签信息、错误原因等。
在一个实施例中,XML格式报文中的每个XML标签都可以抽象为一个标签节点,对于每个节点(标签)都有相对应的属性,如下表1所示:
表1-标签属性以及属性值表
如表1所示,标签存在特征属性为must,标签出现次数属性为isList,标签类型属性为type、标签枚举值属性为values、标签匹配策略属性为matchPolicy,标签互斥属性为choices。基于XML格式报文的报文规则信息确定与标签相对应的属性以及属性的属性值,生成XML规则文件。
例如,一个XML规则文件的内容如下所示:
此XML格式报文中的标签包括rpc-reply、connection、name、ctp、protocol等,XML格式报文的报文规则可以为rpc-reply标签不能缺少、ctp标签的类型是数值类型、protocol标签的类型为枚举等。可以使用开发的文件自动生成工具软件,用户通过设置标签、指定标签之间的关系,设置对应的属性以及属性值等,由工具软件输出校验规则文件。
XML规则文件的第一行中设置了与rpc-reply标签对应的校验规则信息,校验规则信息包括:属性must=true说明rpc-reply标签不能缺少,属性type=object说明rpc-reply标签下含有子标签,同时,connection与ok二者互斥,只能出现一个。
XML规则文件的第三行中设置了与name标签的对应的校验规则信息,校验规则信息包括:name标签的属性type=string,说明该name标签的值是一个普通字符串。
XML规则文件的第四行中设置了与ctp标签对应的校验规则信息,校验规则信息包括:ctp标签的类型是数值类型,属性isList=true代表该ctp标签会出现多次。
XML规则文件的第五行中设置了与protocol标签对应的校验规则信息,校验规则信息包括:protocol标签的类型为枚举,protocol标签的值被限定在了values定义好的值里面。
另一个XML规则文件的内容如下所示:
本公开以原有的XML标签属性为基础,不依赖于扩展标签,可以不增删改任何标签名,仅通过扩展原标签属性来生成校验规则文件;定义七种独有的属性,彼此独立,在使用过程中,采用无嵌套的描述规则的方式。
传统方式在描述是否必选、是否为复杂对象、是否是枚举对象、是否互斥等规则描述的时候,是层层嵌套的方式,而且在描述枚举对象或者列表对象时,必须使用多组标签来实现对所有值的描述。本公开将所有枚举值存储到一个属性值中,只占用原标签所在行,大大缩减长度。传统方式的报错信息缺乏错误完整路径,为便于阅读,本公开能一次性把完整错误路径和错误原因同时输出在一行中的方式。
在一个实施例中,可以使用开发的解析自动工具,解析待校验的XML格式报文,获取报文节点信息。例如,报文节点信息包括与ctp标签和name标签相对应的报文节点信息。使用开发的解析自动工具,解析XML规则文件,获取规则节点信息。例如,规则节点信息包括与ctp标签和name标签相对应的规则节点信息。
可以使用开发的规则自动分析工具,在与ctp标签和name标签相对应的规则节点信息中提取标签、属性和属性值,根据属性和属性值生成与ctp标签和name标签对应的校验规则信息。与ctp标签对应的校验规则信息可以包括:ctp标签的类型是数值类型、该ctp标签会出现多次等;与name标签对应的校验规则信息可以包括:name标签的值是一个普通字符串。
基于规则节点信息、报文节点信息的ctp标签和name标签之间的匹配关系,使用与ctp标签和name标签对应的校验规则信息对与ctp标签和name标签相对应的报文节点信息以及其他的报文节点信息进行校验。
上述实施例中的报文格式校验方法,利用待校验的xml格式报文的原始标签作为主体,采用属性标记法来对标签进行描述,以此生成规则文件,可直接在原xml格式报文基础上直接按业务需要进行改写,所见即所得。与当前比较常用的XML schema和RelaxNG相比,开发量小、简单易懂;生成校验文件的长度是原XML的1/3~1/2;可以一次性记录全部错误,并精准指出错误的位置、原因。
在一个实施例中,如图5所示,本公开提供一种报文格式校验装置50,包括:规则文件生成模块51、第一内容解析模块52、第二内容解析模块53和校验比对模块54。
规则文件生成模块51基于报文规则信息确定与标签相对应的属性以及属性的属性值,用以生成校验规则文件。第一内容解析模块52解析待校验报文,获取待校验报文中的报文节点信息。第二内容解析模块53解析校验规则文件,获取校验规则信息。校验比对模块54基于校验规则信息对报文节点信息进行校验,获取校验结果。
在一个实施例中,如图6所示,文件加载模块55基于第一文件路径和第二文件路径分别加载待校验报文和校验规则文件,并分别转换为对应的文件对象。
待校验报文包括XML格式报文,第一内容解析模块52获取XML格式报文中的第一根节点,基于第一根节点进行搜索处理,获取XML格式报文中的全部第一子节点,生成与第一根节点、第一子节点相对应的全部报文节点信息;其中,报文节点信息包括标签等。
校验规则文件包括XML规则文件,第二内容解析模块53获取XML规则文件中的第二根节点,基于第二根节点进行搜索处理,获取XML规则文件中的全部第二子节点,生成与第二根节点、第二子节点相对应的全部规则节点信息。第二内容解析模块53基于规则节点信息获取校验规则信息。
规则节点信息包括标签、属性和属性值,第二内容解析模块53在规则节点信息中提取标签、属性和属性值,根据属性和属性值生成与标签对应的校验规则信息。
校验比对模块54基于与规则节点信息对应的标签与报文节点信息的标签之间的匹配关系,使用校验规则信息对报文节点信息进行校验,其中,XML格式报文和XML规则文件的格式相同。如果判断全部报文节点信息中存在不符合校验规则信息的报文节点信息,则校验比对模块54确定出现错误的报文节点信息以及错误原因。校验比对模块54基于出现错误的报文节点信息生成校验结果;校验结果包括标签信息、错误原因等。
在一个实施例中,图7为根据本公开的报文格式校验装置的又一个实施例的模块示意图。如图7所示,该装置可包括存储器71、处理器72、通信接口73以及总线74。存储器71用于存储指令,处理器72耦合到存储器71,处理器72被配置为基于存储器71存储的指令执行实现上述的报文格式校验方法。
存储器71可以为高速RAM存储器、非易失性存储器(non-volatile memory)等,存储器71也可以是存储器阵列。存储器71还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器72可以为中央处理器CPU,或专用集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本公开的报文格式校验方法的一个或多个集成电路。
在一个实施例中,本公开提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一个实施例中的报文格式校验方法。
上述实施例提供的报文格式校验方法、装置以及存储介质,利用待校验的xml格式报文的原始标签作为主体,采用属性标记法来对标签进行描述,以此生成规则文件,开发量小、简单易懂,能够提高开发和测试的效率;可以一次性记录全部错误,并精准指出错误的位置、原因;可以对设备返回的XML报文的正确性进行自动化检验,大大减少开发工作量,校验规则简便,同时提高了报错的准确性,可对报错信息进行自定义控制。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
Claims (13)
1.一种报文格式校验方法,包括:
基于报文规则信息确定与标签相对应的属性以及所述属性的属性值,用以生成校验规则文件;
解析待校验报文,获取所述待校验报文中的报文节点信息;
其中,基于第一文件路径和第二文件路径分别加载所述待校验报文和所述校验规则文件,并分别转换为对应的文件对象;所述待校验报文包括:XML格式报文;获取所述XML格式报文中的第一根节点;基于所述第一根节点进行搜索处理,获取所述XML格式报文中的全部第一子节点;生成与所述第一根节点、所述第一子节点相对应的全部报文节点信息,所述报文节点信息包括所述标签;
解析所述校验规则文件,获取校验规则信息;
其中,所述校验规则文件包括:XML规则文件;获取所述XML规则文件中的第二根节点;基于所述第二根节点进行搜索处理,获取所述XML规则文件中的全部第二子节点;生成与所述第二根节点、所述第二子节点相对应的全部规则节点信息;基于所述规则节点信息获取所述校验规则信息;
基于所述校验规则信息对所述报文节点信息进行校验,获取校验结果。
2.如权利要求1所述的方法,所述规则节点信息包括:所述标签、所述属性和所述属性值;所述基于所述规则节点信息获取所述校验规则信息包括:
在所述规则节点信息中提取所述标签、所述属性和所述属性值;
根据所述属性和所述属性值生成与所述标签对应的所述校验规则信息。
3.如权利要求2所述的方法,所述基于所述校验规则信息对所述报文节点信息进行校验包括:
基于与所述规则节点信息对应的标签与所述报文节点信息的标签之间的匹配关系,使用所述校验规则信息对所述报文节点信息进行校验;
其中,所述XML格式报文和所述XML规则文件的格式相同。
4.如权利要求3所述的方法,还包括:
如果判断所述全部报文节点信息中存在不符合所述校验规则信息的报文节点信息,则确定出现错误的报文节点信息以及错误原因。
5.如权利要求4所述的方法,所述获取校验结果包括:
基于所述出现错误的报文节点信息生成所述校验结果;其中,所述校验结果包括:标签信息、错误原因。
6.如权利要求1至5任一项所述的方法,其中,
所述属性包括:标签存在特征属性、标签出现次数属性、标签类型属性、标签枚举值属性、标签匹配策略属性和标签互斥属性中的一个或多个。
7.一种报文格式校验装置,包括:
规则文件生成模块,用于基于报文规则信息确定与标签相对应的属性以及所述属性的属性值,用以生成校验规则文件;
第一内容解析模块,用于解析待校验报文,获取所述待校验报文中的报文节点信息;
文件加载模块,用于基于第一文件路径和第二文件路径分别加载所述待校验报文和所述校验规则文件,并分别转换为对应的文件对象;
其中,所述待校验报文包括:XML格式报文;所述第一内容解析模块,用于获取所述XML格式报文中的第一根节点;基于所述第一根节点进行搜索处理,获取所述XML格式报文中的全部第一子节点;生成与所述第一根节点、所述第一子节点相对应的全部报文节点信息,所述报文节点信息包括所述标签;
第二内容解析模块,用于解析所述校验规则文件,获取校验规则信息;
其中,所述校验规则文件包括:XML规则文件;所述第二内容解析模块,用于获取所述XML规则文件中的第二根节点;基于所述第二根节点进行搜索处理,获取所述XML规则文件中的全部第二子节点;生成与所述第二根节点、所述第二子节点相对应的全部规则节点信息;基于所述规则节点信息获取所述校验规则信息;
校验比对模块,用于基于所述校验规则信息对所述报文节点信息进行校验,获取校验结果。
8.如权利要求7所述的装置,所述规则节点信息包括:所述标签、所述属性和所述属性值;
所述第二内容解析模块,具体用于在所述规则节点信息中提取所述标签、所述属性和所述属性值;根据所述属性和所述属性值生成与所述标签对应的所述校验规则信息。
9.如权利要求8所述的装置,其中,
所述校验比对模块,用于基于与所述规则节点信息对应的标签与所述报文节点信息的标签之间的匹配关系,使用所述校验规则信息对所述报文节点信息进行校验;其中,所述XML格式报文和所述XML规则文件的格式相同。
10.如权利要求9所述的装置,其中,
所述校验比对模块,还用于如果判断所述全部报文节点信息中存在不符合所述校验规则信息的报文节点信息,则确定出现错误的报文节点信息以及错误原因。
11.如权利要求10所述的装置,包括:
所述校验比对模块,还用于基于所述出现错误的报文节点信息生成所述校验结果;其中,所述校验结果包括:标签信息、错误原因。
12.一种报文格式校验装置,包括:
存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至6中任一项所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质非暂时性地存储有计算机指令,所述指令被处理器执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010485555.5A CN113761879B (zh) | 2020-06-01 | 2020-06-01 | 报文格式校验方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010485555.5A CN113761879B (zh) | 2020-06-01 | 2020-06-01 | 报文格式校验方法、装置以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113761879A CN113761879A (zh) | 2021-12-07 |
CN113761879B true CN113761879B (zh) | 2024-02-20 |
Family
ID=78782596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010485555.5A Active CN113761879B (zh) | 2020-06-01 | 2020-06-01 | 报文格式校验方法、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761879B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629961A (zh) * | 2022-03-17 | 2022-06-14 | 中国农业银行股份有限公司 | 一种报文格式校验方法及相关设备 |
CN115277887A (zh) * | 2022-08-03 | 2022-11-01 | 中国银行股份有限公司 | 一种报文内容发送处理方法及装置 |
CN116055350B (zh) * | 2023-01-03 | 2024-05-14 | 重庆长安汽车股份有限公司 | 一种基于Json的数据通信质量检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402556A (zh) * | 2010-09-16 | 2012-04-04 | 深圳市金蝶中间件有限公司 | Xml文件的校验方法和装置 |
CN103460204A (zh) * | 2011-01-27 | 2013-12-18 | 韦斯技术有限公司 | 产生和验证客户机嵌入式图像上的定制的可扩展标记语言(xml)配置 |
CN109379326A (zh) * | 2018-08-29 | 2019-02-22 | 中国建设银行股份有限公司 | Xml报文规则校验方法、设备和存储介质 |
CN110688823A (zh) * | 2019-09-20 | 2020-01-14 | 中国银行股份有限公司 | Xml文件验证方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7296017B2 (en) * | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
-
2020
- 2020-06-01 CN CN202010485555.5A patent/CN113761879B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402556A (zh) * | 2010-09-16 | 2012-04-04 | 深圳市金蝶中间件有限公司 | Xml文件的校验方法和装置 |
CN103460204A (zh) * | 2011-01-27 | 2013-12-18 | 韦斯技术有限公司 | 产生和验证客户机嵌入式图像上的定制的可扩展标记语言(xml)配置 |
CN109379326A (zh) * | 2018-08-29 | 2019-02-22 | 中国建设银行股份有限公司 | Xml报文规则校验方法、设备和存储介质 |
CN110688823A (zh) * | 2019-09-20 | 2020-01-14 | 中国银行股份有限公司 | Xml文件验证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113761879A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113761879B (zh) | 报文格式校验方法、装置以及存储介质 | |
JP5690349B2 (ja) | レコード形式情報の管理 | |
Berry et al. | The case for dumb requirements engineering tools | |
US8745641B1 (en) | Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface | |
CN107015948B (zh) | 一种日志信息格式化方法及系统 | |
CN110597708A (zh) | 一种测试用例文件转换方法、装置、电子设备及存储介质 | |
CN109165209B (zh) | 数据库中对象类型的数据校验方法、装置、设备及介质 | |
CN112328489A (zh) | 测试用例生成方法、装置、终端设备和存储介质 | |
CN113190220A (zh) | Json文件差异化对比方法及装置 | |
CN113505078B (zh) | 配置文件更新方法、装置、设备及存储介质 | |
CN113391972A (zh) | 一种接口测试方法及装置 | |
CN110688823B (zh) | Xml文件验证方法及装置 | |
CN110188432B (zh) | 系统架构的验证方法、电子设备及计算机可读存储介质 | |
US11055477B2 (en) | Evaluation device, evaluation method, and recording medium evaluating a line as a start line of a table | |
CN114461193B (zh) | 一种通信协议代码的生成方法、装置、设备及存储介质 | |
CN107506339B (zh) | 一种基于字符偏移的scd节点校验出错定位方法及装置 | |
US8819645B2 (en) | Application analysis device | |
WO2022222547A1 (zh) | 一种大批量pdf文件合并的方法及系统 | |
CN113792017A (zh) | 一种校验导入excel的模板内容的方法和系统 | |
CN112733199A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN113536762A (zh) | Json文本的比对方法及装置 | |
CN111651362A (zh) | 测试案例生成方法、装置、存储介质和计算机设备 | |
CN112328246A (zh) | 页面组件生成方法、装置、计算机设备及存储介质 | |
CN117056238B (zh) | 验证部署框架下模型转换正确性的方法及计算设备 | |
CN116755684B (zh) | OAS Schema的生成方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |