一种xml信息获取方法和系统的制作方法

文档序号:6352706阅读:121来源:国知局
专利名称:一种xml信息获取方法和系统的制作方法
技术领域
本发明涉及软件技术领域,更具体的说是涉及一种XML信息获取方法和系统。
背景技术
XML (Extensible Markup Language,可扩展标记语言)是一套定义语法标记的规
则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义 了用于定义其他与特定领域有关的、语义的和结构化的标记语言的句法语言,它在软件 开发领域占据着不可或缺的重要地位。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被复 用元素信息和所述补充完整的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元素信息包括的应用程序。优选地,当所述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被复用元素包括同名属性以及同名子元素 时,所述XML复用元素信息采用自身的属性以及子元素信息。优选地,所述系统还包括验证模块,用于验证所述XML文档是否符合语法规则。优选地,当所述XML文档为XML配置文档时,所述系统还包括第一处理模块,用于执行所述获取模块获取到的XML元素信息包括的应用程序。优选地,当所述XML文档为模型定义载体时,所述系统还包括第二处理模块,用于根据所述获取模块获取到的XML元素信息,生成相应的模 型对象。经由上述的技术方案可知,与现有技术相比,本发明提供了一种XML获取方 法,通过定义XML的语法规则定义出XML文档需要包括的被复用属性和/或复用属 性,在获取到所述XML文档进行解析过程中,解析出所述的被复用元素和复用元素,按 照复用规则和被复用元素信息,将需要复用的复用元素信息补充完整,然后在获取所述 被复用元素信息和补充后的XML元素信息以便于进行后续根据XML元素信息的相应操 作。通过复用关系,实现了 XML元素的复用,无需反复编写大量含有重复内容的XML 文档,因此在获取XML信息时无需重复解析相同的内容的过程,减少了工作量,从而解 决了影响系统性能的问题,并且提高了工作效率,降低了出错率,使开发和维护工作更 加灵活敏捷。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或 现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还 可以根据提供的附图获得其他的附图。图1为本发明一种XML信息获取方法实施例1的流程图;图2为本发明一种XML信息获取方法实施例2的流程图;图3为本发明一种XML信息获取系统实施例1的结构示意图;图4为本发明一种XML信息获取系统实施例2的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、 完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得 的所有其他实施例,都属于本发明保护的范围。本发明可用于众多通用或专用的计算装置环境或配置中。例如个人计算机、 服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装 置或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程 序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、 对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计 算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境 中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。本发明实施例公开了一种XML信息获取方法和系统,按照预先定义的语法规则 编写XML文档,获取XML信息时,首先将获取的XML文档进行解析,解析出所述XML 文档中所有包含被复用属性的XML被复用元素和包含复用属性的XML复用元素,按照复 用规则,依据XML被复用元素信息将所述XML复用元素信息填充完整,即可获取所述解 析出的XML各个元素信息,所述XML各个元素信息包括XML被复用元素信息和所述补 充完整的XML复用元素信息。本发明在编写XML文档时无需编写大量重复的内容,因此 获取XML信息时无需重复解析相同的内容,减少了工作量,从而解决了系统性能降低的问 题,并且提高了工作效率,降低了出错率,使开发和维护工作更加灵活敏捷。参见图1、示出了本发明一种XML信息获取方法实施例1的流程图,可以包括 以下步骤步骤101 按照预先定义的语法规则编写XML文档,所述预先定义的语法规则 定义了 XML元素中包括复用属性和/或被复用属性。根据XML所需要描述的业务场景,定义XML语法规则,确定XML元素的父子
关系,以及每种元素包含哪些属性。预先定义的语法规则需要定义出复用属性和被复用 属性,通过定义哪些元素配置了被复用属性和复用属性,配置有被复用属性的元素即为 被复用元素,配置有复用属性的元素即为复用元素。其中,预先定义的语法规则包括预先定义的XML约束模式,如果被复用元素和 复用元素不在同一个XML文档中,则不同的XML文档需要具有相同的约束模式。按照定义的语法规则编写XML文档,对于含有相同内容的元素,包括子元素和 /元素属性相同,无需重复编写XML,只需根据相同的内容,编写出被复用元素和复用 元素,在解析XML文档时,只需根据复用属性及被复用属性进行元素信息的复用即可, 所述复用属性和被复用属性可以是自定义的关键字,例如,定义“id”为被复用属性,
"refid"为复用属性,则包含有“id”属性的即为被复用元素,包含“refid”即为与被 复用属性“id”匹配的复用属性,复用元素根据属性“refid”查找到属性“id”对应的 元素信息,即可获取到需复用的元素的全部信息。以多台服务器进行配置管理为例,服务器采用相同的连接方式,运行时间不同,则对应不同的XML配置文档。
则被复用元素定义如下,包含被复用属性“id”
<sel.ve!.id一” template” natne一”服务器配置模板” Systeln一” linuX” >
<connect ip一”lo.5.2.12”pot.t一”8090”/>
</sel‘vel>
在上述配置基础上,定义复用元素,包含复用属性“rend”
<sel.ve!.rend一”template”name一”曰间批量服务器”>
]<run’week一”周一至周五”time一”800一1700”’/>
</sel‘vel>
<sel.ve!.rend一”template”name一”夜间批量服务器”>
<run’week一”周六至周曰”time一”2300—600”/>
</sel‘vel>
需要说明的是,上述的“id”和“re6d”只是定义的复用属性和被复用属性的关键字,也可定义其他形式的关键字,比如“a”和“reh”,并不限于这一种关键字。
步骤102获取所述XML文档。
在获取XML文档信息之前,需要先获取XML文档并解析出XML文档中的元素和属性。创建好的XML文档可以存放在数据库中,或是作为计算机硬盘上的实际文件。
步骤103解析出所述XML文档中所有包含被复用属性的XML被复用元素信息和包含复用属性的XML复用元素信息。
获取到XML文档需要进行解析才能获取到XML文档中的信息,以便后续进行相应的处理操作,解析过程即解析出XML文档的各个元素及其包含的属性。首先解析出所述XML文档中所有包含被复用属性的XML被复用元素信息,并进行缓存,然后解析出所有包含复用属性的复用元素信息,则根据复用属性即可在缓存中查找到与其相匹配的被复用属性,例如根据“rend”属性查找“id”属性,则复用元素就可以找到与其匹配的被复用元素。
其中,所述的被复用元素和复用元素可能不在同一个XML文档中,系统是先进行所有XML文档的解析过程,完成元素信息的复用,之后在获取各个元素信息进行后续的相应的处理操作。
步骤104按照复用规则和XML被复用元素信息将所述XML复用元素信息填充完整。
其中,将所述XML复用元素信息填充完整是指XML文档在创建时并没有编写与已编写的XML重复的部分,只是定义了复用属性,即复用元素并没有定义出全部的属性和子元素信息。
在解析时,根据复用属性查找到XML被复用元素信息,及可将XML被复用元素信息填充到复用元素中,形成完整的XML复用元素信息。
复用元素找到与其匹配的XML被复用元素后,按照复用规则,将XML复用元素信息填充完整,即实现了元素复用。
所述复用规则包括属性复用规则和子元素复用规则,属性复用规则是指复用元素信息的属性覆盖被复用元素的同名属性,子元素复用规则是指复用元素自动含有被复用元素的所有子元素以及当复用元素配置了子元素,则不采用被复用元素的子元素。
复用元素默认具备被复用元素的所有属性和子元素,同时需满足上述复用规则。则在上述复用规则下,将XML复用元素信息填充完整具体为所述XML复用元素 信息自动填充所述XML被复用元素的属性信息和子元素信息;或,当所述XML复用元 素信息和XML被复用元素包括同名属性以及同名子元素时,所述XML复用元素信息采 用自身的属性信息以及子元素信息。需要说明的是,这里的包含同名的子元素则采用复用元素自身定义的子元素是 指子元素没有在作为复用元素的前提下,如果子元素也定义为被复用元素或复用元素, 则仍按上述复用规则进行复用,只是复用元素和被复用元素指的是子元素。仍以服务器配置为例,步骤101中所举实例创建出被复用元素和复用元素,则 获取XML元素信息的解析过程中,将复用元素填充完整后为〈server name =〃日间批量服务器〃 ><connectip=〃 10.5.2.12〃 port = 〃 8090〃 /><ran week = 〃 周一至周五〃 time = 〃 8:00-17:00〃 />〈/server〉〈server name =〃夜间批量服务器〃 ><connectip=〃 10.5.2.12〃 port = 〃 8090〃 /><ran week = 〃 周六至周日〃 time = 〃 23:00-6:00〃 /></server>其中,复用元素继承了被复用元素的子元素connect,同时复用元素定义了父元 素中的name属性,根据属性复用规则则覆盖了被复用元素的同名name属性,同时复用 元素定义了 week子元素,则根据子元素复用规则保留所述week子元素。所述的复用规则不只适用于父元素,同样适用于子元素中的嵌套复用,即父子 元素可同时复用。仍以服务器配置为例,创建XML时,定义了被复用元素为〈serverid = 〃 template" name =〃 服务器配置模板〃 system = 〃 linux" ><connectip=〃 10.5.2.12〃 port = 〃 8090〃 /><ran id = " tmpran" week = 〃 周一至周五〃 /></server>复用元素定义为〈serverrefid = 〃 template" name =〃 周一至周五日间〃 ><ran refid = " tmprun" time = 〃 8:00-17:00〃 /></server>〈serverrefid = 〃 template" name =〃 周一至周五日间〃 ><ran refid = 〃 tmprun" time = 〃 15:00-22:00〃 /></server>则经过解析复用,填充完整后的复用元素为〈server name =〃 周一至周五夜间〃 ><connectip=〃 10.5.2.12〃 port = 〃 8090〃 ><run week =〃 周一至周五〃 time = ‘ 23:00-6:00〃 />〈/server〉
〈servername =〃 周一至周五日间〃 ” ><connectip=〃 10.5.2.12〃 port = 〃 8090〃 ><ranweek = 〃 周一至周五〃 time = “ 8:00-17:00" /></server>其中子元素ran也作为复用元素,则根据复用规则,复用子元素run继承被复用 子元素run的信息,包括week属性。由上述复用过程可以看出,在重复属性和子元素较多时,采用这种编写XML的 方法,减少了工作量。当需要修改XML文档时,只需修改被复用元素的配置即可,复用元素即会根据 修改后的被复用元素信息生成相应的新的元素信息。步骤105:获取所述解析出的各个元素信息,所述XML各个元素信息包括XML
被复用元素信息和所述补充完整的XML复用元素信息。对XML文档进行解析,是为了获取所述XML文档的信息,包括各个元素的相 关信息以及各个属性。获取到所述XML文档信息后即可进行后续相应的处理操作,例 如,当XML文档为配置文件时,配置文件记录着应用程序的信息,解析出所述的程序信 息,即可执行所述程序。当XML文档作为模型定义载体,则后续的处理过程是根据所述 XML元素信息生成相应的模型对象。比如生成相应的数据表等。需要说明的,在步骤103之前,即解析XML文档之前,还应该包括验证所述 XML文档是否符合语法规则,如果是,则执行解析的操作,能够对XML文档进行解 析,所述XML文档必须符合一定的语法规则。在本发明实施例中,通过预先定义的语法规则编写XML文档,定义出哪些作为 被复用元素及复用元素,在获取XML文档信息时,通过解析出所述被复用元素和复用元 素,之后按照复用规则以及被复用元素信息,将复用元素信息填充完整,无需编写大量 重复的XML文档,因此在获取XML信息时无需重复解析相同的内容的过程,从而节省 了工作量,提高了系统性能,并且提高了工作效率,降低了出错率,使开发和维护工作 更加灵活敏捷。参见图2,为本发明一种XML信息获取方法具体实施例2的流程图,可以包括 以下步骤步骤201 按照预先定义的语法规则编写XML文档,所述预先定义的语法规则 定义了 XML元素中包括复用属性和/或被复用属性。步骤202 获取所述XML文档。步骤203:验证所述XML文档是否符合所述定义的语法规则,如果是则进入步 骤204,如果否,则进入步骤208。步骤204 解析出所述XML文档中所有包含复用属性的XML被复用元素信息 并缓存。步骤205 解析出所述XML文档中所有包含复用属性的XML复用元素信息。步骤206 从XML被复用元素缓存中查找出与所述复用属性相匹配的被复用属 性对应的XML被复用元素信息。步骤207 按照复用规则和XML被复用元素信息,将所述XML复用元素信息填充完整。复用元素找到与其匹配的XML被复用元素后,按照复用规则,将XML复用元 素信息填充完整,即实现元素复用。所述复用规则包括属性复用规则和子元素复用规则,属性复用规则是指复用元 素信息的属性覆盖被复用元素的同名属性,子元素复用规则是指复用元素自动含有被复 用元素的所有子元素以及当复用元素配置了子元素,则不采用被复用元素的子元素。复用元素默认具备被复用元素的所有属性和子元素,同时需满足上述复用规 则。则在上述复用规则下,将XML复用元素信息填充完整具体为所述XML复用元素 信息自动填充所述XML被复用元素的属性信息和子元素信息;或,当所述XML复用元 素信息和XML被复用元素包括同名属性以及同名子元素时,所述XML复用元素信息采 用自身的属性信息以及子元素信息。步骤208:获取所述解析出的各个元素信息,所述XML各个元素信息包括XML 被复用元素信息和所述补充完整的XML复用元素信息。步骤209:结束流程。其中,根据所述编写的XML文档的用途不同,所述方法还可以包括当XML 文档为配置文件时,在获取到XML各个元素信息后,执行所述XML元素信息包括的应 用程序;当所述XML文档作为模型定义载体时,在获取到所述XML各个元素信息后, 根据所述XML元素信息生成相应的模型对象。即是根据获取得到的XML各个元素信息 进行相应的应用及处理,关于其他用途在此不一一赘述。在本发明实施例中,无需编写大量重复的XML文档,只需定义出XML文档中 的被复用元素和复用元素,则解析过程中根据被复用的元素信息即可将未填充完整的复 用元素信息填充完整,因此在获取XML信息时无需重复解析相同的内容的过程,从而节 省了工作量,提高了系统性能,并且提高了工作效率,降低了出错率,使开发和维护工 作更加灵活敏捷。与上述本发明提供的一种XML信息获取方法实施例1相对应,参见图3,示出 了本发明一种XML信息获取系统实施例1的结构示意图,可以包括创建模块301:用于按照预先定义的语法规则编写XML文档,所述预先定义的 语法规则定义了 XML元素中包含的复用属性和/或被复用属性。根据XML所需要描述的业务场景,定义XML语法规则,确定XML元素的父子
关系,以及每种元素包含哪些属性。预先定义的语法规则需要定义出复用属性和被复用 属性,通过定义哪些元素配置了被复用属性和复用属性,配置有被复用属性的元素即为 被复用元素,配置有复用属性的元素即为复用元素。其中,预先定义的语法规则包括预先定义的XML约束模式,如果被复用元素和 复用元素不在同一个XML文档中,则不同的XML文档需要具有相同的约束模式。第一获取模块302 用于获取所述XML文档。解析模块303 用于解析出所述XML文档中所有包含被复用属性的XML被复 用元素信息和包含复用属性的XML复用元素信息。其中,所述的被复用元素和复用元素可能不在同一个XML文档中,系统是先进 行所有XML文档的解析过程,完成元素信息的复用,之后在获取各个元素信息进行后续
11的相应的处理操作。复用模块304 用于按照复用规则和XML被复用元素信息,将所述XML复用
元素信息填充完整。其中,将所述XML复用元素信息填充完整是指XML文档在创建时并没有编 写与已编写的XML重复的部分,只是定义了复用属性,将内容重复的元素定义为XML 复用元素。在解析时,根据复用属性查找到XML被复用元素,及可将XML被复用元素 包含的信息填充到复用元素中,形成完整的XML复用元素信息。复用元素找到与其匹配的XML被复用元素后,按照复用规则,将XML复用元 素信息填充完整,即实现元素复用。所述复用规则包括属性复用规则和子元素复用规则,属性复用规则是指复用元 素信息的属性覆盖被复用元素的同名属性,子元素复用规则是指复用元素自动含有被复 用元素的所有子元素以及当复用元素配置了子元素,则不采用被复用元素的子元素。复用元素默认具备被复用元素的所有属性和子元素,同时需满足上述复用规 则。则在上述复用规则下,将XML复用元素信息填充完整具体为所述XML复用元素 信息自动填充所述XML被复用元素的属性信息和子元素信息;或,当所述XML复用元 素信息和XML被复用元素包括同名属性以及同名子元素时,所述XML复用元素信息采 用自身的属性信息以及子元素信息。第二获取模块305:用于获取解析出的XML各个元素信息,所述XML元素信 息包括XML被复用元素信息和所述补充完整的XML复用元素信息。在本发明实施例中,通过预先定义的语法规则编写XML文档,定义出哪些作为 被复用元素及复用元素,在获取XML文档信息时,通过解析出所述被复用元素和复用元 素,之后按照复用规则以及被复用元素信息,将复用元素信息填充完整,无需编写大量 重复的XML文档,因此在获取XML信息时无需重复解析相同的内容的过程,从而节省 了工作量,提高了系统性能,并且提高了工作效率,降低了出错率,使开发和维护工作 更加灵活敏捷。与上述本发明提供的一种XML信息获取方法实施例2相对应,参见图4示出了 本发明一种XML信息获取系统实施例2的结构示意图,可以包括创建模块401:用于按照预先定义的语法规则编写XML文档,所述预先定义的 语法规则定义了 XML元素中包含的复用属性和/或被复用属性。第一获取模块402 用于获取所述XML文档。验证模块403 用于验证所述XML文档是否符合语法规则。第一解析模块404 用于当验证模块403的结果为是时解析出所述XML文档中 所有包含被复用属性的XML被复用元素信息并缓存。第二解析模块405 用于解析出所述XML文档中所有包含复用属性的XML复
用兀素{曰息o查找模块406 用于在XML被复用元素缓存中查找与所述复用属性相匹配的被 复用属性对应的XML被复用元素信息。复用模块407 用于按照复用规则和XML被复用元素信息,将所述XML复用
元素信息填充完整。
12
所述复用规则包括属性复用规则和子元素复用规则,所述服用模块407具体用 于按照所述复用规则,将所述XML复用元素信息自动填充上所述XML被复用元素的属 性和所有子元素信息;或,用于当所述XML复用元素和XML被复用元素包括同名属性以及同名子元素 时,所述XML复用元素信息采用自身的属性以及子元素信息。其中,XML文档可作为不同的用途使用,当XML文档作为XML配置文件时所 述的系统还可以包括第一处理模块用于执行所述获取模块获取到的XML元素信息包括的应用程序。当所述XML文档作为模型定义载体时,所述的系统还可以包括第二处理模块用于根据所述获取模块获取到的XML元素信息,生成相应的模 型对象。需要说明的,所述XML文档还可以作为其它用途,此处的处理模块是用于根据 所述获取到的元素信息进行相应的处理及应用,不在一一赘述其具体功能。在本发明实施例中,无需编写大量重复的XML文档,只需定义出XML文档中 的被复用元素和复用元素,则解析过程中根据被复用的元素信息即可将未填充完整的复 用元素信息填充完整,因此在获取XML信息时无需重复解析相同的内容的过程,从而节 省了工作量,提高了系统性能,并且提高了工作效率,降低了出错率,使开发和维护工 作更加灵活敏捷。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其 他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的 装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方 法部分说明即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发 明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所 定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因 此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和 新颖特点相一致的最宽的范围。
权利要求
1.一种XML信息获取方法,其特征在于,按照预先定义的语法规则编写XML文 档,所述预先定义的语法规则定义了 XML元素中包括复用属性和/或被复用属性,所述 方法包括获取所述XML文档;解析出所述XML文档中所有包含被复用属性的XML被复用元素信息和包含复用属 性的XML复用元素信息;按照复用规则和XML被复用元素信息将所述XML复用元素信息填充完整;获取所述解析出的XML各个元素信息,所述XML各个元素信息包括XML被复用元 素信息和所述补充完整的XML复用元素信息。
2.根据权利要求1所述的方法,其特征在于,所述解析出所述XML文档中所有包含 被复用属性的XML被复用元素信息和包含复用属性的XML复用元素信息,包括解析出所述XML文档中所有包含被复用属性的XML被复用元素信息并缓存;解析出所述XML文档中所有包含复用属性的XML复用元素信息。
3.根据权利要求2所述的方法,其特征在于,所述按照复用规则,根据XML被复用 元素信息将所述XML复用信息填充完整之前还包括从XML被复用元素信息缓存中,查找出与所述复用属性相匹配的被复用属性对应的 XML被复用元素信息。
4.根据权利要求1所述的方法,其特征在于,所述复用规则包括属性复用规则和子元 素复用规则,所述属性复用规则为复用元素的属性覆盖被复用元素的同名属性;所述子元素复用规则为复用元素自动含有被复用元素的所有子元素以及当复用元素 配置了子元素,则不采用被复用元素的子元素;贝U,所述按照复用规则和XML被复用元素信息将所述XML复用元素信息填充完整 具体为按照所述复用规则,将所述XML复用元素信息填充上所述XML被复用元素的属性 和所有子元素信息;或,当所述XML复用元素和XML被复用元素包括同名属性以及同名子元素时,所述 XML复用元素信息采用自身的属性以及子元素信息。
5.根据权利要求1所述的方法,其特征在于,所述解析出所述XML文档中所有包含 被复用属性的XML被复用元素信息和包含复用属性的XML复用元素信息之前还包括验证所述XML文档是否符合语法规则,如果是,则执行所述解析的步骤。
6.根据权利要求1所述的方法,其特征在于,当所述XML文档为XML配置文件时, 所述获取所述解析出的XML各个元素信息之后还包括执行所述XML元素信息包括的应用程序。
7.根据权利要求1所述的方法,其特征在于,当所述XML文档为模型定义载体时, 所述获取所述解析出的XML元素信息之后还包括根据所述XML元素信息生成相应的模型对象。
8.根据权利要求1所述的方法,其特征在于,所述预先定义的语法规则包括预先定义 的XML约束模式。
9.一种XML获取系统,其特征在于,所述系统包括创建模块,用于按照预先定义的语法规则编写XML文档,所述预先定义的语法规则 定义了 XML元素中包含的复用属性和/或被复用属性; 第一获取模块,用于获取所述XML文档;解析模块,用于解析出所述XML文档中所有包含被复用属性的XML被复用元素信 息和包含复用属性的XML复用元素信息;复用模块,用于按照复用规则和XML被复用元素信息,将所述XML复用元素信息 填充完整;第二获取模块,用于获取解析出的XML各个元素信息,所述XML元素信息包括 XML被复用元素信息和所述补充完整的XML复用元素信息。
10.根据权利要求9所述的系统,其特征在于,所述解析模块包括第一解析模块,用于解析出所述XML文档中所有包含被复用属性的XML被复用元 素信息并缓存;第二解析模块,用于解析出所述XML文档中所有包含复用属性的XML复用元素信息ο
11.根据权利要求10所述的系统,其特征在于,所述系统还包括查找模块,用于在XML被复用元素信息缓存中查找与所述复用属性相匹配的被复用 属性对应的XML被复用元素信息。
12.根据权利要求9所述的系统,其特征在于,所述复用规则包括属性复用规则和子 元素复用规则,则,所述复用模块用于按照所述复用规则,将所述XML复用元素信息自 动填充上所述XML被复用元素的属性和所有子元素信息;或,用于当所述XML复用元素和XML被复用元素包括同名属性以及同名子元素时,所 述XML复用元素信息采用自身的属性以及子元素信息。
13.根据权利要求9所述的系统,其特征在于,所述系统还包括 验证模块,用于验证所述XML文档是否符合语法规则。
14.根据权利要求9所述的系统,当所述XML文档为XML配置文档时,所述系统还 包括第一处理模块,用于执行所述获取模块获取到的XML元素信息包括的应用程序。
15.根据权利要求9所述的系统,当所述XML文档为模型定义载体时,所述系统还包括第二处理模块,用于根据所述获取模块获取到的XML元素信息,生成相应的模型对象。
全文摘要
本发明提供了一种XML信息获取方法和系统,所述方法包括按照预先定义的语法规则编写XML文档,所述预先定义的语法规则定义了XML元素中包括复用属性和/或被复用属性;获取所述XML文档;解析出所述XML文档中所有包含被复用属性的XML被复用元素和包含复用属性的XML复用元素;按照复用规则和XML被复用元素信息将所述XML复用元素信息填充完整;获取所述解析出的XML各个元素信息,所述XML各个元素信息包括XML被复用元素信息和所述补充完整的XML复用元素信息。本发明无需反复编写大量含有重复内容的XML文档,因此无需重复解析相同的内容的过程,从而解决了影响系统性能的问题,并提高了工作效率。
文档编号G06F9/44GK102023871SQ20111000265
公开日2011年4月20日 申请日期2011年1月7日 优先权日2011年1月7日
发明者丁医, 刘博 , 尹田田 申请人:中国农业银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1