[发明专利]一种XML报文处理方法和装置无效
申请号: | 201210068949.6 | 申请日: | 2012-03-15 |
公开(公告)号: | CN102622444A | 公开(公告)日: | 2012-08-01 |
发明(设计)人: | 朱威 | 申请(专利权)人: | 深圳市同洲视讯传媒有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 xml 报文 处理 方法 装置 | ||
技术领域
本发明涉及信息处理技术领域,特别是涉及一种XML报文处理方法和装置。
背景技术
XML(Extens ible Markup Language,可扩展标记语言)是一种标准通用标记语言,可以使用一系列简单的标记描述数据,是当前处理结构化文档信息的有力工具。XML提供了统一的方法用于描述和交换结构化数据,可以跨平台使用,特别适用于诸如Internet的分布式网络。由于其简单、方便、通用、强大的标签描述的特性,使其易于在各种应用程序中读写数据,特别是在描述业务逻辑时采用XML语言,则可以很容易地在应用服务器上部署。
现有技术中对XML报文进行解析的方法,主要为SAX(Simple API for XML,一种解析XML事件推动模型)和DOM(Document Object Model,文档对象模型)。其中,使用DOM进行XML报文解析时,需要将XML节点进行扫描,并在主机内存中建立完整的节点树,通过节点树对XML报文中符合条件的数据进行查找。SAX是采用基于事件的模型对XML进行解析,它在解析XML的时候可以触发一系列的事件,当发现给定的标签时,则可以激活一个回调方法,告诉该方法指定的标签已找到。当找到特定的XML元素时,则执行特定的动作,例如创建特定的JAVA对象,以完成XML文件与JAVA对象的转换,从而实现XML文件的解析。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:现有技术中,无论是SAX还是DOM,都需要对每个请求的XML报文进行单独的解析。而在复杂的业务逻辑中,会定义多个接口用于传输、交换数据,而接口不同,XML报文的数据结构也会不同,相应的请求参数也会不同。因此,对于不同的接口,需要编制不同的解析程序对XML报文进行解析,才能获取需要的数据以进行后续的业务处理。这样,随着业务逻辑的扩展,业务接口也越来越多,解析程序的代码量也会呈膨胀式增长,不易维护。而每增加或修改接口,都需要增加或修改解析程序代码,解析程序的可扩展性、通用性不强。
发明内容
为解决上述技术问题,本发明实施例提供了一种XML报文处理方法和装置,可以提供一种通用、扩展性强、易于维护的XML报文解析方法。
一方面,本发明实施例提供了一种XML报文处理的方法,包括:
接收XML报文,根据所述XML报文获取接口标识,所述接口标识为接口的唯一标识;
根据预存的所述接口标识与节点配置信息的对应关系获取与所述接口标识对应的节点配置信息;
根据所述节点配置信息对所述XML报文进行解析。
优选的,所述根据所述节点配置信息对所述XML报文进行解析为:
根据所述节点配置信息对所述XML报文中的各节点逐项进行解析,获取各节点对应的值。
优选的,所述根据所述节点配置信息对所述XML报文中的各节点逐项进行解析,获取各节点对应的值包括:
根据所述节点配置信息中的顺序信息获取处于第一顺序的配置信息对应的节点,将所述节点作为当前节点;
获取当前节点的配置信息;
根据当前节点的配置信息判断当前节点是否有属性;
如果判断当前节点无属性,直接获取当前节点的值;如果判断当前节点有属性,获取所述当前节点的属性对应的值以及当前节点的值;
按照所述顺序信息对应的顺序处理下一条配置信息对应的节点,将其作为当前节点进行处理,直至处理完所有节点。
优选的,所述根据所述节点配置信息对所述XML报文中的各节点逐项进行解析,获取各节点对应的值包括:
根据所述节点配置信息,选取一个节点作为当前节点;
获取当前节点的配置信息;
根据当前节点的配置信息判断当前节点是否有属性,如果有,获取属性对应的值,进入下一步骤;
如果判断当前节点无属性,则判断当前节点是否有子节点,如果有,获取所述子节点的配置信息,将子节点作为当前节点,进入获取当前节点的配置信息的步骤;
如果判断当前节点没有子节点,获取当前节点的值;
判断当前节点是否为最后一个节点,如果否,选取一个未处理的节点,将所述节点作为当前节点进行处理,直至处理完最后一个节点。
优选的,所述根据所述节点配置信息对所述XML报文中的各节点逐项进行解析,获取各节点对应的值包括:
根据所述节点配置信息,选取一个节点作为当前节点;
获取当前节点的配置信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市同洲视讯传媒有限公司,未经深圳市同洲视讯传媒有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210068949.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高抗风速抗磨损纤维表面涂料
- 下一篇:一种盐碱地排盐降碱用暗管装置