[发明专利]一种XML文件解析的方法及装置有效
申请号: | 200810006067.0 | 申请日: | 2008-02-01 |
公开(公告)号: | CN101221556A | 公开(公告)日: | 2008-07-16 |
发明(设计)人: | 林志农;周子坚;施健;杜永键;吴炜斯;杨芬;王迎春;李志钧 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22;G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
地址: | 100032*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 xml 文件 解析 方法 装置 | ||
技术领域
本发明涉及信息处理技术领域,特别是涉及一种XML文件解析的方法及一种XML文件解析的装置。
背景技术
XML(The Extensible Markup Language,可扩展标识语言)是一种独立于平台的编程语言,由于它提供了用于创建公共信息格式以及共享网络上不同软件应用的格式和数据的灵活机制,从而特别适于在诸如Internet的分布式网络上使用。XML来源于SGML,包括描述文件内容的标记符号(标签)。XML在标记符号使用方法上同HTML(超文本标记语言)相似,但与HTML相比,它至少具有两个基本区别。首先,HTML具有定义标记符号的专用集,而在XML中所允许标记符号是不受限和自定义的,从而XML是可扩展的。即,尽管XML也具有标准化标记符号,但XML程序员并不受定义标记符号标准集的限制,而是能够定义出新的标记符号。其次,由于HTML标签和属性仅定义出如何显示实际内容,使HTML受限,但XML标签和属性既能够定义如何显示信息(例如,通过Web浏览器),又能够定义显示什么样的内容。
XML是一种简单的数据存储语言,可以使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,XML的简单使其易于在任何应用程序中读写数据,比如,在使用计算机处理各种业务逻辑时,往往需要进行建模分析,然后根据模型生成业务模型描述。由于XML语言具有纯文本、以及强大的标签描述特性,在描述业务逻辑时采用XML语言,则可以更容易地在应用服务器上部署。
目前常用的XML解析方法是SAX和DOM,在此基础上产生许多开源解析框架,如Castor、JAXB、Digester等。这些框架都比较类似,都是将XML文件转换成相应的Java对象的过程,以下以Digester为例具体说明:简言之,Digester由″事件″驱动,通过调用预定义的规则操作对象栈,将XML文件转换为Java对象。工作原理如下:
Digester底层采用SAX解析XML文件,由于SAX解析器采用基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。所以相应地,对象转换由″事件″驱动,即在识别出特定XML元素时(实际被细分为begin、body、end、finish四个时点),将执行特定的动作,比如创建特定的Java对象,或调用特定对象的方法等。此处的XML元素根据匹配模式(matching pattern)识别,而相关操作由规则(rule)定义。在转换过程中,Digester维持了一个对象栈,用来存放转换中生成的、或是为转换临时创建的Java对象。对输入XML文件作了一趟完整的扫描后,对象栈的栈顶元素即为目标对象。由于Digester屏蔽了SAX解析的细节,使用者仅需关注转换操作本身,大大简化了转换操作。
在基本使用中,使用者通过调用Digester类的相关方法,来创建匹配模式与规则的映射序列。比如,调用addSetProperties(String pattern),向Digester中加入SetPropertiesRule。然而,在基本的使用方式下,Digester虽然使用XML文件定义Java对象的状态,提高了系统的灵活性,但是匹配模式与规则的映射序列(装载逻辑)仍然通过硬编码来定义,这种方式不易修改与重用。所以Digester还提供了一种高级的使用方式,用一个XML文件定义Java对象的状态(数据源文件),用另一个XML文件定义装载数据源文件的装载逻辑。在这种情况下,对象的装载过程分成了两步:
1.装载逻辑的″装载″,其结果表现为定义了rule的Digester;
2.根据上一步得到的Digester,装载目标对象。
显然,采用这种方式,需要为一个装载逻辑多写一个配置文件,如果需要执行复杂业务逻辑的XML文件解析,将增加系统开销,严重浪费系统资源。并且,由于提供的规则标签所定义的动作简单,功能单一,不支持多栈操作,对于复杂的解析动作无法定义或定义比较繁琐困难。
所以,本领域技术人员迫切需要发展一种能在节省系统资源的前提下,简单、有效的实现XML文件配置及解析的方法。
发明内容
本发明所要解决的技术问题是提供一种XML文件解析的方法,用以在节省系统资源的前提下,简单、有效的实现XML文件配置及解析。
本发明还提供了一种XML文件解析的装置,用以保证上述方法在实际中的实现及应用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810006067.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:侧向发光二极管的制法及其结构
- 下一篇:用于空气调节装置的抽屉式水箱组件