【技术实现步骤摘要】
一种基于QT自动生成代码的方法及装置
本专利技术涉及可扩展标记语言领域,尤其涉及一种基于QT自动生成代码的方法。
技术介绍
可扩展标记语言即ExtensibleMarkupLanguage,简称XML,是一种用于标记电子文件使其具有结构性的标记语言,它提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据,使用纯文本来描述数据内容,简单易懂,并且数据都结构化了,易于计算机理解,使XML很快成为跨平台、跨应用数据交换的公共语言,XSD即XMLSchemaDefinition的作用是定义XML文档的合法结构,它定义了可出现在XML文档中的元素、属性、继承关系,以及出现的次序、次数、数据类型等。
技术实现思路
本专利技术提供的一种基于QT自动生成代码的方法,旨在解决现有技术中手工编写对应XML文件的转换代码的问题。为实现上述目的,本专利技术采用以下技术方案:本专利技术的一种基于QT自动生成代码的方法,包括:输入符合规范的XSD文件并定义XML文件的架构;解析所述XSD文件, ...
【技术保护点】
1.一种基于QT自动生成代码的方法,其特征在于,包括以下步骤:/n输入符合规范的XSD文件并定义XML文件的架构;/n解析所述XSD文件,根据所述XSD文件中对XML文件的约束生成对应的类属性和成员变量;/n识别所述XSD文件中的指示器,将XSD文件中的所有element元素根据文件结构生成相应的element哈希表,将所述element元素根据是否复合结构、最小出现次数、最大出现次数生成相应的代码;/n通过Q_CLASSINFO记录生成的列表类型成员变量元素,生成头文件和源代码文件。/n
【技术特征摘要】
1.一种基于QT自动生成代码的方法,其特征在于,包括以下步骤:
输入符合规范的XSD文件并定义XML文件的架构;
解析所述XSD文件,根据所述XSD文件中对XML文件的约束生成对应的类属性和成员变量;
识别所述XSD文件中的指示器,将XSD文件中的所有element元素根据文件结构生成相应的element哈希表,将所述element元素根据是否复合结构、最小出现次数、最大出现次数生成相应的代码;
通过Q_CLASSINFO记录生成的列表类型成员变量元素,生成头文件和源代码文件。
2.根据权利要求1所述的一种基于QT自动生成代码的方法,其特征在于,所述解析所述XSD文件,根据所述XSD文件中对XML文件的约束生成对应的类属性和成员变量包括:
解析所述XSD文件,根据所述XSD文件中对XML文件的约束生成简单类型则提供对字符串、日期、数值、布尔型的支持;
解析所述XSD文件,根据所述XSD文件中对XML文件的约束生成复合类型则生成对应的类型并在父类型中生成对应成员变量和属性。
3.根据权利要求1所述的一种基于QT自动生成代码的方法,其特征在于,所述生成的类型根据父子继承关系进行确定。
4.一种基于QT自动生成代码的装置,其特征在于,包括:
输入和定义模块,用于输入符合规范的XSD文件并定义XML文件的架构;
解析和...
【专利技术属性】
技术研发人员:王宏明,林卫永,聂超,金云,王泉荣,温业中,
申请(专利权)人:通号万全信号设备有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。