[发明专利]XSD格式文件的解析方法及生成方法有效
申请号: | 202010033769.9 | 申请日: | 2020-01-13 |
公开(公告)号: | CN111259634B | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 魏超;李雨雨;肖彦科;李攀;杨森;杨俊毅 | 申请(专利权)人: | 陕西心像信息科技有限公司 |
主分类号: | G06F40/154 | 分类号: | G06F40/154 |
代理公司: | 西安佩腾特知识产权代理事务所(普通合伙) 61226 | 代理人: | 姚敏杰 |
地址: | 710061 陕西省西安市曲江新区雁翔路以东南*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | xsd 格式文件 解析 方法 生成 | ||
1.一种XSD格式文件的解析方法,其特征在于:所述XSD格式文件的解析方法包括以下步骤:
1)初始化StreamReader类将XSD文件路径带入,将XSD文件转换为Stream流文件,其次初始化XmlDocument类对象,通过对象的Load方法将该文件流转换为对应的XmlDocument类;
2)调用XmlDocument类内部的DocumentElement方法,将XmlDocument类转换为对应的XmlElement文档类,通过内部的属性值ChildNodes,获取该文档的N个Node节点块,节点对象代表XmlElement文档树中一个单独的节点;
3)将拆分出来的Node节点块通过点LocalName的属性获取对应的节点的名称,再通过Attributes方法获取该节点的属性集合;具体实现方式是:利用C#的反射机制,提取element属性值,获取的每个节点块对应的属性值以及类型值,通过自定义类对象并赋值的方式,将Node节点转换为节点类;
4)最终完成对XSD的解析,生成对应的XSD解析类。
2.一种XSD格式文件的生成方法,其特征在于:所述XSD格式文件的生成方法包括以下步骤:
1)初始化StreamReader类将XSD文件路径带入,将XSD文件转换为Stream流文件,其次初始化XmlDocument类对象,通过对象的Load方法将该文件流转换为对应的XmlDocument类;
2)调用XmlDocument类内部的DocumentElement方法,将XmlDocument类转换为对应的XmlElement文档类,通过内部的属性值ChildNodes,获取该文档的N个Node节点块,节点对象代表XmlElement文档树中一个单独的节点;
3)将拆分出来的Node节点块通过点LocalName的属性获取对应的节点的名称,再通过Attributes方法获取该节点的属性集合;具体实现方式是:利用C#的反射机制,提取element属性值,获取的每个节点块对应的属性值以及类型值,通过自定义类对象并赋值的方式,将Node节点转换为节点类;
4)最终完成对XSD的解析,生成对应的XSD解析类;
5)将XSD解析类的对应属性以及属性值赋值给新定义的XmlAttribute类对象,初始化时给与对应的类名称和值;具体实现方式是:通过该方式将XSD类转换为多个节点类型类,此方式利用的C#的反射填充element属性值机制,形成的节点类型类必须与XSD类属性名以及值完全一致;
6)将节点类型类的属性名以及属性值衣服赋值给新定义的XmlElement类对象,通过初始化带入方式赋值,节点类型类与节点类型XmlElement的属性名称以及属性值必须保持完全一致;
7)定义一个新的XmlDocument类对象,将上述节点类型XmlElement通过Add的方法加入到XmlDocument的Root根节点属性下,从而完成对XmlDocument文档信息类的组装;
8)创建一个MemoryStream文件流对象,利用XmlDocument文档信息类的Save方法将XmlDocument文档进行保存操作。
3.一种用于实现XSD格式文件的解析方法或XSD格式文件的生成方法的操作系统,其特征在于:所述操作系统包括:
读取模块:在XSD格式文件进行解析过程中,通过StreamReader类将选定的XSD文件进行读取操作,将其转换为Stream文件流形式;在XSD格式文件进行生成过程中,将XmlDocument文档信息转换为XSD文档信息,为展示XSD文件生成的成果展示;
解析模块:在XSD格式文件进行解析过程中,将读取模块的XSD文件流进行解析,从而将XSD文件流转换为XmlDocument文档信息类型,在XSD格式文件进行生成过程中,将XmlDocument文档转换为XSD文件信息;
节点类型模块:在XSD格式文件进行解析过程中,将XmlDocument文档信息转化为节点类型,即用特定的字符串代表特定的节点,包含节点的类型以及值,在XSD格式文件进行生成过程中,将节点类型类转换为对应的节点类型,必须与节点类型类一一对应,完全匹配;
节点类模块:在XSD格式文件进行解析过程中,将节点类型转化为一一对应的节点类或者对象;节点类必须与节点类型相对应;在XSD格式文件进行生成过程中,将XSD类通过反射提取机制,转换为节点类;
XSD类模块:在XSD格式文件进行解析过程中,将节点类组合生成对应的XSD类,实则为C#对象;展示对XSD文件的解析成果;在XSD格式文件进行生成过程中,将XSD类通过反射填充机制转换为节点类,开始进一步的生成XSD文件操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西心像信息科技有限公司,未经陕西心像信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010033769.9/1.html,转载请声明来源钻瓜专利网。