掌桥专利:专业的专利平台
掌桥专利
首页

报文生成XML串的方法及装置

文献发布时间:2023-06-19 11:49:09


报文生成XML串的方法及装置

技术领域

本发明涉及支付业务处理领域,尤指一种报文生成XML串的方法及装置。

背景技术

在支付系统中,与参与者业务处理时主要以XML格式的报文进行业务交互。测试实验室承担测试工作,需要一款能录入报文信息项后,按业务报文标准进行XML报文的生成、发送;也能接收业务系统下发或是转发的报文,并对其进行解析处理。随着业务的扩展,基于XML格式报文也会大量的新增、调整。业内亟需一个工具能快速兼容新的业务报文组装及解析。

发明内容

本发明目的在于提供一种报文生成XML串的方法及装置,予以基于“树”结构进行XML串的生成,可很好的解决当前需求。

为达上述目的,本发明所提供的报文生成XML串的方法,具体包含:获取报文导入数据,根据所述报文导入数据构建报头对象、报体树对象、明细树和附加域树对象;根据所述报文树对象获得用户提供的各类树节点的赋值,根据所述赋值添加所述报体树对象、所述明细树对象和所述附加域树对象构建报体树,并将报体树按预设方向拼接生成XML格式的报体串;根据预设拼接规则将报头对象的数据拼接为报头串,根据所述报头串和所述报体串生成报文导入数据对应的XML串。

在上述报文生成XML串的方法中,优选的,所述报文导入数据包含:根据报文导入的入库数据和/或入文件数据。

在上述报文生成XML串的方法中,优选的,根据所述赋值添加所述报体树对象、所述明细树对象和所述附加域树对象构建报体树还包含:当所述报文导入数据包含多组数据(如:相同结构,相同或不同值域的数据)时,根据多组数据之间的关联关系对明细树或附加域树上节点分别进行录入构建生成多棵有序的明细树或附加域树。

在上述报文生成XML串的方法中,优选的,根据所述赋值添加所述附加域树对象包含:根据上级节点信息查找明细或报体,将所述附加域树对象对应的所述赋值添加至对应的父节点下。

在上述报文生成XML串的方法中,优选的,根据所述赋值添加所述明细树对象包含:根据上级节点信息查找对应的上级父节点,按明细层递归将所述明细树对象对应的所述赋值添加至对应的明细树节点。

在上述报文生成XML串的方法中,优选的,根据所述赋值添加所述报体树对象、所述明细树对象和所述附加域树对象构建报体树包含:根据上级节点将所述明细树添加入报体树节点生成报体树。

在上述报文生成XML串的方法中,优选的,将报体树按预设方向拼接生成XML格式的报体串包含:按报体树结构自顶向下或自左向右进行拼接生成XML格式的报体串。

本发明还提供一种报文生成XML串的装置,具体包含:数据预处理模块、构建模块和拼接模块;所述数据预处理模块用于获取报文导入数据,根据所述报文导入数据构建报头对象、报体树对象、明细树和附加域树对象;所述构建模块用于根据所述报文树对象获得用户提供的各类树节点的赋值,根据所述赋值添加所述报体树对象、所述明细树对象和所述附加域树对象构建报体树;所述拼接模块用于将报体树按预设方向拼接生成XML格式的报体串;根据预设拼接规则将报头对象的数据拼接为报头串,根据所述报头串和所述报体串生成报文导入数据对应的XML串。

在上述报文生成XML串的装置中,优选的,所述构建模块还包含明细树构建单元,所述明细树构建单元用于当所述报文导入数据为多组数据时,根据多组数据之间的关联关系对明细树上节点分别进行录入构建生成多棵有序的明细树。

在上述报文生成XML串的装置中,优选的,所述构建模块包含附加域树构建单元,所述附加域树构建单元用于根据上级节点信息查找明细或报体,将所述附加域树对象对应的所述赋值添加至对应的父节点下。

在上述报文生成XML串的装置中,优选的,所述明细树构建单元还用于:根据上级节点信息查找对应的上级父节点,按明细层递归将所述明细树对象对应的所述赋值添加至对应的明细树节点。

在上述报文生成XML串的装置中,优选的,所述构建模块包含报体树构建单元,所述报体树构建单元用于根据上级节点将所述明细树添加入报体树节点生成报体树。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。

本发明的有益技术效果在于:快速适配XML格式定义的报文标准,读取报文格式标准将报文结构定义部分,转换为“树”节点对象的数据,入库或是入文件进行存储结构数据。入库或是入文件的数据与“树”进行相互转换;后续的报文组装及解析,依赖“树”进行处理即可;对于新系统的业务报文,基于XML结构定义的格式标准,可以快速的解析输入入库或是入文件,即可支持报文的组装。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1为本发明一实施例所提供的报文生成XML串的方法的流程示意图;

图2为本发明一实施例所提供的报文生成XML串的装置的结构示意图;

图3为本发明一实施例所提供的电子设备的结构示意图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

请参考图1所示,本发明所提供的报文生成XML串的方法,具体包含:

S101获取报文导入数据,根据所述报文导入数据构建报头对象、报体树对象、明细树和附加域树对象;

S102根据所述报文树对象获得用户提供的各类树节点的赋值,根据所述赋值添加所述报体树对象、所述明细树对象和所述附加域树对象构建报体树,并将报体树按预设方向拼接生成XML格式的报体串;

S103根据预设拼接规则将报头对象的数据拼接为报头串,根据所述报头串和所述报体串生成报文导入数据对应的XML串。

其中,所述报文导入数据包含:根据报文导入的入库数据和/或入文件数据。在实际工作中,按格式标准定义,XML报文定义涉及四部分:报头、报体、明细、附加域。其中报头、报体是每个报文必须有的,明细、附加域依赖定义可以无。为此,本申请一实施例中针对单个报文对象,包含的“树”有三个,报体树、明细树、附加域树;明细树属于报体树,附加域树属于明细树或报体树,根据用户对各类树节点的赋值,构建一棵完整的报体树,再进行报文的生成。报头部分的数据对象按报头生成规则拼接报头串,报体树按XML格式进行拼接组装为XML串。

在本发明一实施例中,根据所述赋值添加所述报体树对象、所述明细树对象和所述附加域树对象构建报体树还包含:当所述报文导入数据为多组数据时,根据多组数据之间的关联关系对明细树上节点分别进行录入构建生成多棵有序的明细树。具体的,明细树根节点:当报文结构中,该节点标注属性位[1..n],即所述节点及其子节点组成的明细树出现至少一次,最多n次。通过页面维护结构,组装为一个Map对象,维护报文XML结构包含每个报文节点对应实例信息包含tag名称、属性、类型、描述、取值,和该节点的父节点和子节点列表。当所述报文中含多笔明细时,插入相同明细多笔;当一份报文中含多笔明细,且每笔明细对应不同业务类型和业务种类时,插入1笔不同业务类型业务种类的明细。在本发明一实施例中,根据所述赋值添加所述附加域树对象包含:根据上级节点信息查找明细或报体,将所述附加域树对象对应的所述赋值添加至对应的父节点下。进一步的,根据所述赋值添加所述明细树对象包含:根据上级节点信息查找对应的上级父节点,按明细层递归将所述明细树对象对应的所述赋值添加至对应的明细树节点。最后,根据所述赋值添加所述报体树对象、所述明细树对象和所述附加域树对象构建报体树包含:根据上级节点将所述明细树添加入报体树节点生成报体树。

在本发明一实施例中,将报体树按预设方向拼接生成XML格式的报体串包含:按报体树结构自顶向下或自左向右进行拼接生成XML格式的报体串。具体的,报体、明细节点的实例对象集以MapmsgTagMap对象作为入参,和预定义的报文参数作为入参,程序依次附加域数据回写,明细数据回写,明细节点数据拼串回写父节点,报体回写结构体,组织报体信息后,返回对象报体对象。所述过程描述,相关的数据结构有两个:1、MapmsgTagMap对象存储所有节点,每个节点在报文中的路径和取值。2、回写过程中,将MapmsgTagMap转换为报体、明细、附加域列表。列表的数据结构按照报体、明细、附加域业务需求,属性不完全相同;组装后的XML报文串为String类型的对象。

为便于更清楚的理解本发明所提供的报文生成XML串的方法的整体应用流程,以下结合上述实施例对本发明所提供的报文生成XML串的方法做整体说明:

1、根据报文导入入库或是入文件的数据,开始构建报头对象,报体树、明细树、附加域树对象。

2、根据用户录入节点的值进行处理;明细树上的节点,允许用户录入多组,当为多组数据时,开始构建生成多棵有序的明细树。

3、附加域树根据上级节点信息,查找明细或是报体,添加至对应的父节点下;

4、明细树根据上级节点信息,查找对应的上级父节点,按明细层级递归添加明细树节点;

5、明细树处理完成后,明细树根据上级节点添加入报体树节点下,完成报体树。

6、报头根据拼接规则进行报头串的拼接;报体树根据XML格式,根据树自顶向下、自左向右进行拼接XML串。

由此,对于新系统的业务报文,基于XML结构定义的格式标准,可以快速的解析输入入库或是入文件,即可支持报文的组装。

请参考图2所示,本发明还提供一种报文生成XML串的装置,具体包含:数据预处理模块、构建模块和拼接模块;所述数据预处理模块用于获取报文导入数据,根据所述报文导入数据构建报头对象、报体树对象、明细树和附加域树对象;所述构建模块用于根据所述报文树对象获得用户提供的各类树节点的赋值,根据所述赋值添加所述报体树对象、所述明细树对象和所述附加域树对象构建报体树;所述拼接模块用于将报体树按预设方向拼接生成XML格式的报体串;根据预设拼接规则将报头对象的数据拼接为报头串,根据所述报头串和所述报体串生成报文导入数据对应的XML串。

在本发明一实施例中,所述构建模块还包含明细树构建单元,所述明细树构建单元用于当所述报文导入数据为多组数据时,根据多组数据之间的关联关系对明细树上节点分别进行录入构建生成多棵有序的明细树。进一步的,所述构建模块包含附加域树构建单元,所述附加域树构建单元用于根据上级节点信息查找明细或报体,将所述附加域树对象对应的所述赋值添加至对应的父节点下。在本发明另一实施例中,所述构建模块还可包含报体树构建单元,所述报体树构建单元用于根据上级节点将所述明细树添加入报体树节点生成报体树。

在本发明一实施例中,所述明细树构建单元还用于:根据上级节点信息查找对应的上级父节点,按明细层递归将所述明细树对象对应的所述赋值添加至对应的明细树节点,具体实施方式可参考前述实施例,在此就不再一一相举。

本发明的有益技术效果在于:快速适配XML格式定义的报文标准,读取报文格式标准将报文结构定义部分,转换为“树”节点对象的数据,入库或是入文件进行存储结构数据。入库或是入文件的数据与“树”进行相互转换;后续的报文组装及解析,依赖“树”进行处理即可;对于新系统的业务报文,基于XML结构定义的格式标准,可以快速的解析输入入库或是入文件,即可支持报文的组装。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。

如图3所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图3中所示的所有部件;此外,电子设备600还可以包括图3中没有示出的部件,可以参考现有技术。

如图3所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。

其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。

输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。

该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。

存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 报文生成XML串的方法及装置
  • XML格式的接口测试案例报文的生成方法和装置
技术分类

06120113066682