【技术实现步骤摘要】
本专利技术属于计算机数据处理
,本专利技术是模式匹配的XML文件格式与关系数据库转换的处理方法。
技术介绍
可扩展标记语言(eXtensibleMarkupLanguage,XML)作为一种计算机技术虽然表面上非常简单,但对计算机软件、数据库管理和B2B通信世界的广泛适用性和深远影响令人惊讶。这种基于标记的可扩展语言提供强大的功能,不但可以为构建数据提供一种高度结构化而且易于处理的方式,而且能够存储、交换关于数据意义的信息,是跨平台的信息交换的主要途径。要应用XML进行数据交换,首先要解决XML文档的解析问题,对其语义进行明确解读。W3C及XML_DEV邮件列表的成员分别提出了两个标准的应用程序接口:DOM(DocumentObjectModel,文档对象模型)和SAX(SimpleAPIforXML,XML简单编程接口),其主要实现了对XML文件的访问接口,并未提供数据转换机制。要进一步实现数据字段的识别处理需要针对每一数据项编写源代码进行识别处理,对于数据接口的更新操作需要源代码级的修改,缺乏灵活性。在已有的XML与关系数据库转换实现方法上,基本上都是基于XML文件中的DTD和XMLSchema(DTD和XMLSchema是用于对XML文档进行约束、确定XML文档的结构、元素及属性的名称和类型)实现数据转换,然而现实中大多数情况下XML接口文件中是没有XMLSchema和DTD的。(胡华,邵君,基于XML关系数据库转换策略研究与实现.微计算机信息.2008.24(5-3))XED(XML-EnabledDBMS)是在原有数据库基础上扩展了XML ...
【技术保护点】
模式匹配的XML文件格式与关系数据库转换的处理方法,其特征在于,包括以下步骤:步骤1,通过分析XML文件格式,根据数据组织方式的不同将XML文件中的数据分为四类数据组,根据XML文件的节点名称及数据组织方式,将其描述为四类数据模式,并储存在模式配置文件中;步骤2,读取并解析XML文件,将其与数据模式配置文件中的数据模式进行匹配,形成与数据模式中数据项一一对应的内存数据;步骤3,根据内存数据与数据模式中数据项的对应关系,将内存数据与对应数据库字段一一对应,组装成SQL语句,完成对数据库的操作,实现XML文件与关系数据库的转换。
【技术特征摘要】
1.模式匹配的XML文件格式与关系数据库转换的处理方法,其特征在于,包括以下步骤:步骤1,通过分析XML文件格式,根据数据组织方式的不同将XML文件中的数据分为四类数据组,根据XML文件的节点名称及数据组织方式,将其描述为四类数据模式,并储存在模式配置文件中;步骤2,读取并解析XML文件,将其与数据模式配置文件中的数据模式进行匹配,形成与数据模式中数据项一一对应的内存数据;步骤3,根据内存数据与数据模式中数据项的对应关系,将内存数据与对应数据库字段一一对应,组装成SQL语句,完成对数据库的操作,实现XML文件与关系数据库的转换。2.根据权利要求1所述的方法,其特征在于,步骤1包括如下步骤:步骤1-1,分析XML文件的数据格式,根据数据组织方式的不同将XML文件中的数据分为四类数据组,包括:第一类数据组,是整个XML文件的一组说明性元素,该数据组中各叶节点的上级节点为根节点,且其节点下没有子节点,并在整个XML文件中仅出现一次;第二类数据组,在XML文件中最多仅出现一次,在该数据组中枝节点为A的情况下,枝节点A的上级节点为根节点,则枝节点A仅出现一次或不出现,其子节点全部为叶节点;第三类数据组,是在XML文件中具有相同结构,并出现两次以上的数据组,在该数据组中枝节点为B1的情况下,枝节点B1的上级节点为根节点,枝节点B1仅出现一次或不出现,其子节点为可出现两次以上的枝节点B2,则枝节点B2的子节点全部为叶节点;第四类数据组,是在XML文件中具有相同结构,并出现两次以上的数据组,在该数据组中枝节点为C的情况下,枝节点C的上级节点为根节点,枝节点C中不包含枝节点和叶节点,枝节点C允许出现两次以上或不出现,枝节点C包含两个以上的属性;上述四类数据组中各节点的根节点和各枝节点名称不重复;步骤1-2,将四类数据组定义为四类数据模式,并通过配置文件具体描述每类数据模式,每一数据模式包含节点路径名,对应的数据库用户名、密码、表名、数据库主键、数据库唯一键、数据库操作策略以及每一数据项对应的数据库字段名、字段类型和字段长度。3.根据权利要求2所述的方法,其特征在于,步骤2包括如下步骤:步骤2-1,以每一字段的最大长度作为元素长度,以数据模式配置文件中的数据模式可包含的数据项最大数为元素个数,定义二维数组;步骤2-2,读取步骤1-2生成的数据模式配置文件,在内存中形成数据模式结构树...
【专利技术属性】
技术研发人员:田振兴,史慕志,法晓宇,滕达,
申请(专利权)人:中国电子科技集团公司第二十八研究所,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。