【技术实现步骤摘要】
XSD格式文件的解析方法及生成方法
本专利技术属于数据管理领域,涉及一种文件的解析方法及生成方法,尤其涉及一种XSD格式文件的解析方法与生成方法。
技术介绍
XSD即XMLSchema语言,描述了XML文档的结构,可以通过XSD指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的,它是DTD的替代品,XMLSchema描述了XML文档的结构。可以用一个指定的XMLSchema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XMLSchema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XMLSchema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。一个XMLSchema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值,XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间。在现有技术中数据集成类项目中通常用XSD文件作为需要集成的数据内容描述的主要因有:可扩展、支持数据类型、支持命名空间等。XSD本身是一个XML文档,它符合XML语法结构,所以虽可用通用的XML解析器解析它,然而并没有解析与生成复杂XSD格式文件的类库供直接调用使用。技术方案为了解决
技术介绍
中存在的上述技术问题,本专利技术提供了一种可以直接调用本 ...
【技术保护点】
1.一种XSD格式文件的解析方法,其特征在于:所述XSD格式文件的解析方法包括以下步骤:/n1)初始化StreamReader类将XSD文件路径带入,将XSD文件转换为Stream流文件,其次初始化XmlDocument类对象,通过对象的Load方法将该文件流转换为对应的XmlDocument类;/n2)调用XmlDocument类内部的DocumentElement方法,将XmlDocument类转换为对应的XmlElement文档类,通过内部的属性值ChildNodes,获取该文档的N个Node节点块,节点对象代表XmlElement文档树中一个单独的节点;/n3)将拆分出来的Node节点块通过点LocalName的属性获取对应的节点的名称,再通过Attributes方法获取该节点的属性集合;/n4)最终完成对XSD的解析,生成对应的XSD解析类。/n
【技术特征摘要】
1.一种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解析类。
2.根据权利要求1所述的XSD格式文件的解析方法,其特征在于:所述步骤3)的具体实现方式是:利用C#的反射机制,提取element属性值,获取的每个节点块对应的属性值以及类型值,通过自定义类对象并赋值的方式,将Node节点转换为节点类。
3.一种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解析类;
5)将XSD解析类的对应属性以及属性值赋值给新定义的XmlAttribute类对象,初始化时给与对应的类名称和值;
6)将节点类型类的属性名以及属性值衣服赋值给新定义的XmlElement类对象,通过初始化带入方式赋值,节点类型类与节点类型XmlElement的属性名称以及属性值必须保持完全一致;
7)定义...
【专利技术属性】
技术研发人员:魏超,李雨雨,肖彦科,李攀,杨森,杨俊毅,
申请(专利权)人:陕西心像信息科技有限公司,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。