[发明专利]XSD格式文件的解析方法及生成方法有效
申请号: | 202010033769.9 | 申请日: | 2020-01-13 |
公开(公告)号: | CN111259634B | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 魏超;李雨雨;肖彦科;李攀;杨森;杨俊毅 | 申请(专利权)人: | 陕西心像信息科技有限公司 |
主分类号: | G06F40/154 | 分类号: | G06F40/154 |
代理公司: | 西安佩腾特知识产权代理事务所(普通合伙) 61226 | 代理人: | 姚敏杰 |
地址: | 710061 陕西省西安市曲江新区雁翔路以东南*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | xsd 格式文件 解析 方法 生成 | ||
本发明涉及一种XSD格式文件的解析方法与生成方法,解析方法包括:初始化StreamReader类将XSD文件路径带入,将XSD文件转换为Stream流文件,初始化XmlDocument类对象,将该文件流转换为对应的XmlDocument类;获取该文档的N个Node节点块,节点对象代表XmlElement文档树中一个单独的节点;获取对应的节点的名称,获取该节点的属性集合;最终完成对XSD的解析,生成对应的XSD解析类。本发明可以直接调用本发明dll类库中的相关方法对XSD文件进行数据解析与生成的XSD格式文件。
技术领域
本发明属于数据管理领域,涉及一种文件的解析方法及生成方法,尤其涉及一种XSD格式文件的解析方法与生成方法。
背景技术
XSD即XML Schema语言,描述了XML文档的结构,可以通过XSD指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的,它是DTD的替代品,XMLSchema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。
一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值,XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间。
在现有技术中数据集成类项目中通常用XSD文件作为需要集成的数据内容描述的主要因有:可扩展、支持数据类型、支持命名空间等。XSD本身是一个XML文档,它符合XML语法结构,所以虽可用通用的XML解析器解析它,然而并没有解析与生成复杂XSD格式文件的类库供直接调用使用。
技术方案
为了解决背景技术中存在的上述技术问题,本发明提供了一种可以直接调用本发明dll类库中的相关方法对XSD文件进行数据解析与生成的XSD格式文件的解析方法与生成方法。
为了实现上述目的,本发明采用如下技术方案:
一种XSD格式文件的解析方法,其特征在于:所述XSD格式文件的解析方法包括以下步骤:
1)初始化StreamReader类将XSD文件路径带入,将XSD文件转换为Stream流文件,其次初始化XmlDocument类对象,通过对象的Load方法将该文件流转换为对应的XmlDocument类;
2)调用XmlDocument类内部的DocumentElement方法,将XmlDocument类转换为对应的XmlElement文档类,通过内部的属性值ChildNodes,获取该文档的N个Node节点块,节点对象代表XmlElement文档树中一个单独的节点;
3)将拆分出来的Node节点块通过点LocalName的属性获取对应的节点的名称,再通过Attributes方法获取该节点的属性集合;
4)最终完成对XSD的解析,生成对应的XSD解析类。
上述步骤3)的具体实现方式是:利用C#的反射机制,提取element属性值,获取的每个节点块对应的属性值以及类型值,通过自定义类对象并赋值的方式,将Node节点转换为节点类。
一种XSD格式文件的生成方法,其特征在于:所述XSD格式文件的生成方法包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西心像信息科技有限公司,未经陕西心像信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010033769.9/2.html,转载请声明来源钻瓜专利网。