CN107918542B - 一种字符串生成方法及装置 - Google Patents

一种字符串生成方法及装置 Download PDF

Info

Publication number
CN107918542B
CN107918542B CN201711178525.4A CN201711178525A CN107918542B CN 107918542 B CN107918542 B CN 107918542B CN 201711178525 A CN201711178525 A CN 201711178525A CN 107918542 B CN107918542 B CN 107918542B
Authority
CN
China
Prior art keywords
qml
character string
format
xml
attributes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711178525.4A
Other languages
English (en)
Other versions
CN107918542A (zh
Inventor
方文
罗新伟
江春华
陈显龙
余怡恺
孙敏杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Forever Technology Co Ltd
Original Assignee
Beijing Forever Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Forever Technology Co Ltd filed Critical Beijing Forever Technology Co Ltd
Priority to CN201711178525.4A priority Critical patent/CN107918542B/zh
Publication of CN107918542A publication Critical patent/CN107918542A/zh
Application granted granted Critical
Publication of CN107918542B publication Critical patent/CN107918542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明提供了一种字符串生成方法及装置,所述方法包括获得并解析第一语言格式的字符串,根据解析结果生成第二语言格式的字符串。可见本发明方案提出了“将一种语言格式的字符串转换为另一种语言格式字符串”的这一技术构思,应用本发明方案,针对编写过程较为麻烦的XML字符串而言,可首先利用一编写过程较为简单的其他编程语言(如QML)来编写相对应格式的字符串,之后再利用本申请方案将该格式字符串转化为XML字符串,从技术人员的角度来说,其可以通过编写如QML等其他格式的字符串来间接获得所需的XML字符串,无需面对XML繁杂的格式要求,从而本发明方案简化了XML的编写方式,降低了技术人员获得XML字符串的麻烦程度。

Description

一种字符串生成方法及装置
技术领域
本发明属于计算机程序的代码编写及处理技术领域,尤其涉及一种字符串生成方法及装置。
背景技术
目前,由于XML(Extensible Markup Language,可扩展标记语言)自身的格式特点,比如包括较多繁杂的符号(如<>、</>)等,导致技术人员在编写XML格式字符串时特别麻烦,尤其是在编写复杂的XML字符串时该问题更为凸显。
因此,如何提供一种改进的XML字符串编写方式(以降低技术人员获得XML字符串的麻烦程度),成为该领域亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种字符串生成方法及装置,用于简化XML的编写方式,降低技术人员获得XML字符串的麻烦程度。
为此,本发明公开如下技术方案:
一种字符串生成方法,包括:
获得第一语言格式的字符串;
解析所述第一语言格式的字符串,得到解析结果;
根据所述解析结果,生成第二语言格式的字符串。
上述方法,优选的,所述获得第一语言格式的字符串,包括:
获得问卷的标记语言QML格式的字符串。
上述方法,优选的,所述解析所述第一语言格式的字符串,得到解析结果,包括:
解析所述QML格式的字符串,得到所述解析结果;
所述解析结果包括:所述QML格式的字符串提供的各个QML属性以及相应QML属性之间的层级关系。
上述方法,优选的,所述根据所述解析结果,生成第二语言格式的字符串,包括:
根据所述QML格式的字符串提供的各个QML属性以及相应QML属性之间的层级关系,生成可扩展标记语言XML格式的字符串;
其中,所述XML格式的字符串包括:基于所述QML格式的字符串提供的各个QML属性生成的XML标签名、value值及XML属性,以及基于所述QML格式的字符串提供的相应QML属性之间的层级关系生成的XML标签之间的层级关系。
上述方法,优选的,所述方法还包括:
基于QML的组件或插件特性,以组件或插件形式对所述QML格式的字符串进行扩展和/或复用处理,以使得扩展和/或复用XML格式的字符串。
一种字符串生成装置,包括:
获取单元,用于获得第一语言格式的字符串;
解析单元,用于解析所述第一语言格式的字符串,得到解析结果;
生成单元,用于根据所述解析结果,生成第二语言格式的字符串。
上述装置,优选的,所述获取单元,具体用于:
获得问卷的标记语言QML格式的字符串。
上述装置,优选的,所述解析单元,具体用于:
解析所述QML格式的字符串,得到所述解析结果;
所述解析结果包括:所述QML格式的字符串提供的各个QML属性以及相应QML属性之间的层级关系。
上述装置,优选的,所述生成单元,具体用于:
根据所述QML格式的字符串提供的各个QML属性以及相应QML属性之间的层级关系,生成可扩展标记语言XML格式的字符串;
其中,所述XML格式的字符串包括:基于所述QML格式的字符串提供的各个QML属性生成的XML标签名、value值及XML属性,以及基于所述QML格式的字符串提供的相应QML属性之间的层级关系生成的XML标签之间的层级关系。
上述装置,优选的,所述装置还包括:
扩展与复用单元,用于基于QML的组件或插件特性,以组件或插件形式对所述QML格式的字符串进行扩展和/或复用处理,以使得扩展和/或复用XML格式的字符串。
由以上方案可知,本发明提供了一种字符串生成方法及装置,所述方法包括获得并解析第一语言格式的字符串,根据解析结果生成第二语言格式的字符串。可见本发明方案提出了“将一种语言格式的字符串转换为另一种语言格式字符串”的这一技术构思,应用本发明方案,针对编写过程较为麻烦的XML字符串而言,可首先利用一编写过程较为简单的其他编程语言(如QML)来编写相对应格式的字符串,之后再利用本申请方案将该格式字符串转化为XML字符串,从技术人员的角度来说,其可以通过编写如QML等其他格式的字符串来间接获得所需的XML字符串,无需面对XML繁杂的格式要求,从而本发明方案简化了XML的编写方式,降低了技术人员获得XML字符串的麻烦程度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例提供的一种字符串生成方法流程图;
图2是本发明实施例提供的另一种字符串生成方法流程图;
图3是本发明实施例提供的插件形式的QML代码示意图;
图4是本发明实施例提供的一种字符串生成装置的结构示意图;
图5是本发明实施例提供的另一种字符串生成装置的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:
Qt:是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler,moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种字符串生成方法及装置,所述方法及装置提出了“将一种语言格式的字符串转换为另一种语言格式字符串”的这一技术构思,并基于该技术构思简化了XML的编写方式,降低了技术人员获得XML字符串的麻烦程度。以下将通过多个实施例对本发明的字符串生成方案进行说明。
参考图1,示出了本发明一个实施例中字符串生成方法的流程图,如图1所示,所述字符串生成方法包括以下步骤:
步骤101、获得第一语言格式的字符串。
由于本发明的目的在于基于“将一种语言格式的字符串转换为另一种语言格式字符串”这一技术构思,简化XML字符串的编写方式、降低技术人员获得XML字符串的麻烦程度,因此,所述第一语言可以是相对于XML而言,字符串编写过程较为简单的编程语言,如QML(Questionnaire Markup Language,问卷的标记语言)等。
鉴于此,本步骤中具体可以获得技术人员利用QML所编写的QML格式的字符串,参考以下的QML代码,该代码为本实施例提供的QML格式字符串的一具体示例:
Figure BDA0001478700840000041
Figure BDA0001478700840000051
步骤102、解析所述第一语言格式的字符串,得到解析结果。
在获得所述第一语言格式的字符串,如获得所述QML格式的字符串基础上,本步骤继续对所述第一语言格式的字符串进行解析,以使得为第二语言格式字符串的生成提供支持。
以所述第一语言格式的字符串为QML格式字符串为例,可使用Qt程序对QML字符串进行解析,具体地可利用Qt框架中的QQmlComponent组件(本质上QQmlComponent为一个类)来解析QML字符串所对应的QML代码,生成包含有相应解析结果的Qt对象,该Qt对象中的解析结果包括所述QML格式字符串提供的各个QML属性以及相应QML属性之间的层级关系,具体地,例如可以包括tag属性、text属性和其他属性,以及还包括各tag属性之间的层级关系(父子关系)等。
步骤103、根据所述解析结果,生成第二语言格式的字符串。
在通过对所述第一语言格式的字符串进行解析,获得解析结果的基础上,可继续根据所述解析结果,生成第二语言格式的字符串。所述第二语言具体可以是XML。
其中,本步骤可通过读取所述Qt对象中的各个QML属性,并根据读取的QML属性来生成相对应的XML字符串。
根据XML的格式要求,可知,XML格式的字符串中通常需包括xml标签名、value值及XML属性,除此之外,还包括各个XML标签之间的层级关系。
本实施例中,具体基于所述解析结果中包含的各个QML属性来生成XML标签名、value值及XML属性,以及基于所述解析结果中包含的相应QML属性之间的层级关系来生成XML标签之间的层级关系。
其中,由于从实际的业务逻辑意义上而言,QML格式中的tag属性、text属性以及其他属性分别与XML格式中的标签名、value值及XML属性相对应,鉴于此,本实施例中,具体从所述Qt对象中读取tag属性并基于所读取的tag属性生成XML标签名,从所述Qt对象中读取text属性并基于所读取的text属性生成XML的value值,从所述Qt对象中读取其他属性(除tag及text之外的其他属性)并基于所读取的其他属性来生成XML属性。
除此之外,还保留QML字符串中各tag属性之间的层级关系,并将各tag属性之间的层级关系作为各XML标签的层级关系,在此基础上可按照各XML标签的层级关系,通过拼接所生成的XML标签名、value值及XML属性,来最终生成所需的XML字符串。
实际应用中,可预先设计一转换函数,并利用设计的该转换函数,将从Qt对象中读取的相应属性如tag属性、text属性及其他属性等,相应转换为XML标签名,value值及XML属性,并按照各XML标签的层级关系通过拼接转换所得的XML标签名,value值及XML属性,得到最终的XML字符串。
由以上方案可知,本发明实施例提供的字符串生成方法,包括获得并解析第一语言格式的字符串,根据解析结果生成第二语言格式的字符串。可见本发明方案提出了“将一种语言格式的字符串转换为另一种语言格式字符串”的这一技术构思,应用本发明方案,针对编写过程较为麻烦的XML字符串而言,可首先利用一编写过程较为简单的其他编程语言(如QML)来编写相对应格式的字符串,之后再利用本申请方案将该格式字符串转化为XML字符串,从技术人员的角度来说,其可以通过编写如QML等其他格式的字符串来间接获得所需的XML字符串,无需面对XML繁杂的格式要求,从而本发明方案简化了XML的编写方式,降低了技术人员获得XML字符串的麻烦程度。
接下来,在本发明的另一实施例中继续对所述字符串生成方法进行补充,参考图2示出的字符串生成方法流程图,本实施例中,所述方法还可以包括以下步骤:
步骤104、基于QML的组件或插件特性,以组件或插件形式对所述QML格式的字符串进行扩展和/或复用处理,以使得扩展和/或复用XML格式的字符串。
实际应用中,XML格式字符串除了具有编写过程麻烦的缺陷,还由于每个XML文件都是单独存在的,从而存在XML文件无法作为组件进行复用,无法进行扩展的问题。
而本发明中,由于基于“将一种语言格式的字符串转换为另一种语言格式字符串”这一技术构思,具体采用将QML格式的字符串转换为XML字符串的方式,来间接获得(而非直接编写)所需的XML字符串,且所述QML具有组件和插件特性,可以随意封装和扩展,从而,可基于QML的组件或插件特性,通过以组件或插件形式对所述QML格式的字符串进行扩展和/或复用处理,来使得扩展和/或复用XML格式的字符串。
具体地,如图3所示,图3中的Html 1.0是一个插件,里面包括body,button,div,image等组件。实际应用中,在利用本发明方案对该Html 1.0插件中的QML字符串进行转换,得到相对应的XML字符串后,转换所得的XML字符串同样为一插件,从而,在存在对该插件形式的XML字符串的复用需求时,可基于该XML插件的可复用性,对该插件中的XML字符串进行复用。
相应地,当存在对所述插件形式的XML字符串的扩展需求时,可通过在QML格式的所述Html 1.0插件中添加所需的组件代码,并利用本发明方案对进行组件扩展后所得到的新QML插件进行转换,从而得到新的XML插件,该新的XML插件相对于原有的XML插件而言,实现了所需的扩展。
本实施例通过以组件或插件形式对所述QML格式的字符串进行扩展和/或复用处理,实现了对XML格式字符串的扩展和/或复用,符合面向对象和组件化的程序设计思想,能够满足面向对象和组件化的XML编写需求。
在本发明接下来的又一实施例中,提供一种字符串生成装置,参考图4示出的字符串生成装置的结构示意图,该装置包括:
获取单元100,用于获得第一语言格式的字符串。
由于本发明的目的在于基于“将一种语言格式的字符串转换为另一种语言格式字符串”这一技术构思,简化XML的编写方式、降低技术人员获得XML字符串的麻烦程度,因此,所述第一语言可以是相对于XML而言,字符串编写过程较为简单的编程语言,如QML等。
鉴于此,所述获取单元100具体可以获得技术人员利用QML所编写的QML格式的字符串,参考以下的QML代码,该代码为本实施例提供的QML格式字符串的一具体示例:
Figure BDA0001478700840000071
Figure BDA0001478700840000081
解析单元200,用于解析所述第一语言格式的字符串,得到解析结果。
在获得所述第一语言格式的字符串,如获得所述QML格式的字符串基础上,可继续利用解析单元200对所述第一语言格式的字符串进行解析,以使得为第二语言格式字符串的生成提供支持。
以所述第一语言格式的字符串为QML格式字符串为例,可使用Qt程序对QML字符串进行解析,具体地可利用Qt框架中的QQmlComponent组件(本质上QQmlComponent为一个类)来解析QML字符串所对应的QML代码,生成包含有相应解析结果的Qt对象,该Qt对象中的解析结果包括所述QML格式的字符串提供的各个QML属性以及相应QML属性之间的层级关系,具体地,例如可以包括tag属性、text属性和其他属性,以及还包括各tag属性之间的层级关系(父子关系)等。
生成单元300,用于根据所述解析结果,生成第二语言格式的字符串。
在通过对所述第一语言格式的字符串进行解析,获得解析结果的基础上,可继续根据所述解析结果,生成第二语言格式的字符串。所述第二语言具体可以是XML。
其中可通过读取所述Qt对象中的属性,并根据读取的属性来生成相对应的XML字符串。
根据XML的格式要求,可知,XML格式的字符串中通常需包括xml标签名、value值及XML属性,除此之外,还包括各个XML标签之间的层级关系。
本实施例中,具体基于所述解析结果中包含的各个QML属性来生成XML标签名、value值及XML属性,以及基于所述解析结果中包含的相应QML属性之间的层级关系来生成XML标签之间的层级关系。
其中,由于从实际的业务逻辑意义上而言,QML格式中的tag属性、text属性以及其他属性分别与XML格式中的标签名、value值及XML属性相对应,鉴于此,本实施例中,具体从所述Qt对象中读取tag属性并基于所读取的tag属性生成XML标签名,从所述Qt对象中读取text属性并基于所读取的text属性生成XML的value值,从所述Qt对象中读取其他属性(除tag及text之外的其他属性)并基于所读取的其他属性来生成XML属性。
除此之外,还保留QML字符串中各tag属性之间的层级关系,并将各tag属性之间的层级关系作为各XML标签的层级关系,在此基础上可按照各XML标签的层级关系,通过拼接所生成的XML标签名、value值及XML属性,来最终生成所需的XML字符串。
实际应用中,可预先设计一转换函数,并利用设计的该转换函数,将从Qt对象中读取的相应属性如tag、text及其他属性等,相应转换为XML标签名,value值及属性,并按照各XML标签的层级关系通过拼接转换所得的XML标签名,value值及属性,得到最终的XML字符串。
由以上方案可知,本发明实施例提供的字符串生成装置,通过其包括的各处理单元获得并解析第一语言格式的字符串,根据解析结果生成第二语言格式的字符串。可见本发明方案提出了“将一种语言格式的字符串转换为另一种语言格式字符串”的这一技术构思,应用本发明方案,针对编写过程较为麻烦的XML字符串而言,可首先利用一编写过程较为简单的其他编程语言(如QML)来编写相对应格式的字符串,之后再利用本申请方案将该格式字符串转化为XML字符串,从技术人员的角度来说,其可以通过编写如QML等其他格式的字符串来间接获得所需的XML字符串,无需面对XML繁杂的格式要求,从而本发明方案简化了XML的编写方式,降低了技术人员获得XML字符串的麻烦程度。
在本发明的再一实施例中,参考图5示出的字符串生成装置的结构示意图,该装置还可以包括:
扩展与复用单元400,用于基于QML的组件或插件特性,以组件或插件形式对所述QML格式的字符串进行扩展和/或复用处理,以使得扩展和/或复用XML格式的字符串。
实际应用中,XML格式字符串除了具有编写过程麻烦的缺陷,还由于每个XML文件都是单独存在的,从而存在XML文件无法作为组件进行复用,无法进行扩展的问题。
而本发明中,由于基于“将一种语言格式的字符串转换为另一种语言格式字符串”的这一技术构思,具体采用将QML格式的字符串转换为XML字符串的方式,来间接获得(而非直接编写)所需的XML字符串,且所述QML具有组件和插件特性,可以随意封装和扩展,从而,可基于QML的组件或插件特性,通过以组件或插件形式对所述QML格式的字符串进行扩展和/或复用处理,来使得扩展和/或复用XML格式的字符串。
具体地,如图3所示,图3中的Html 1.0是一个插件,里面包括body,button,div,image等组件。实际应用中,在利用本发明方案对该Html 1.0插件中的QML字符串进行转换,得到相对应的XML字符串后,转换所得的XML字符串同样为一插件,从而,在存在对该插件形式的XML字符串的复用需求时,可基于该XML插件的可复用性,对该插件中的XML字符串进行复用。
相应地,当存在对所述插件形式的XML字符串的扩展需求时,可通过在QML格式的所述Html 1.0插件中添加所需的组件代码,并利用本发明方案对进行组件扩展后所得到的新QML插件进行转换,从而得到新的XML插件,该新的XML插件相对于原有的XML插件而言,实现了所需的扩展。
本实施例通过以组件或插件形式对所述QML格式的字符串进行扩展和/或复用处理,实现了对XML格式字符串的扩展和/或复用,符合面向对象和组件化的程序设计思想,能够满足面向对象和组件化的XML编写需求。
综上所述,相比于现有技术,本发明的字符串生成方法及装置具有以下的有益效果:本发明提供了一种更方便、更具扩展性的字符串生成方案,该方案基于“将一种语言格式的字符串转换为另一种语言格式字符串”这一技术构思,解决了XML字符串编写麻烦的问题,且符合面向对象和组件化的程序设计思想,能够满足面向对象和组件化的XML编写需求。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1.一种字符串生成方法,其特征在于,包括:
获得第一语言格式的字符串;
解析所述第一语言格式的字符串,得到解析结果;
根据所述解析结果,利用预先设计的转换函数生成第二语言格式的字符串;
其中,所述获得第一语言格式的字符串,包括:获得问卷的标记语言QML格式的字符串;
对应的,所述解析所述第一语言格式的字符串,得到解析结果,包括:利用Qt框架中的QQmlComponent组件来解析所述QML格式的字符串所对应的QML代码,生成包含有相应解析结果的Qt对象,其中,所述Qt对象中的解析结果包括所述QML格式的字符串提供的各个QML属性以及相应QML属性之间的层级关系;
所述方法还包括:
基于QML的组件或插件特性,以组件或插件形式对所述QML格式的字符串进行扩展和/或复用处理,以使得扩展和/或复用XML格式的字符串。
2.根据权利要求1所述的方法,其特征在于,所述根据所述解析结果,生成第二语言格式的字符串,包括:
根据所述QML格式的字符串提供的各个QML属性以及相应QML属性之间的层级关系,生成可扩展标记语言XML格式的字符串;
其中,所述XML格式的字符串包括:基于所述QML格式的字符串提供的各个QML属性生成的XML标签名、value值及XML属性,以及基于所述QML格式的字符串提供的相应QML属性之间的层级关系生成的XML标签之间的层级关系。
3.一种字符串生成装置,其特征在于,包括:
获取单元,用于获得第一语言格式的字符串;
解析单元,用于解析所述第一语言格式的字符串,得到解析结果;
生成单元,用于根据所述解析结果,利用预先设计的转换函数生成第二语言格式的字符串;
其中,所述获取单元,具体用于:获得问卷的标记语言QML格式的字符串;
对应的,所述解析单元,具体用于:利用Qt框架中的QQmlComponent组件来解析所述QML格式的字符串所对应的QML代码,生成包含有相应解析结果的Qt对象,其中,所述Qt对象中的解析结果包括所述QML格式的字符串提供的各个QML属性以及相应QML属性之间的层级关系;
所述装置还包括:
扩展与复用单元,用于基于QML的组件或插件特性,以组件或插件形式对所述QML格式的字符串进行扩展和/或复用处理,以使得扩展和/或复用XML格式的字符串。
4.根据权利要求3所述的装置,其特征在于,所述生成单元,具体用于:
根据所述QML格式的字符串提供的各个QML属性以及相应QML属性之间的层级关系,生成可扩展标记语言XML格式的字符串;
其中,所述XML格式的字符串包括:基于所述QML格式的字符串提供的各个QML属性生成的XML标签名、value值及XML属性,以及基于所述QML格式的字符串提供的相应QML属性之间的层级关系生成的XML标签之间的层级关系。
CN201711178525.4A 2017-11-23 2017-11-23 一种字符串生成方法及装置 Active CN107918542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711178525.4A CN107918542B (zh) 2017-11-23 2017-11-23 一种字符串生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711178525.4A CN107918542B (zh) 2017-11-23 2017-11-23 一种字符串生成方法及装置

Publications (2)

Publication Number Publication Date
CN107918542A CN107918542A (zh) 2018-04-17
CN107918542B true CN107918542B (zh) 2022-02-08

Family

ID=61896962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711178525.4A Active CN107918542B (zh) 2017-11-23 2017-11-23 一种字符串生成方法及装置

Country Status (1)

Country Link
CN (1) CN107918542B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111027286B (zh) * 2019-12-20 2020-11-13 暨南大学 一种电子问卷的生成方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079023A (zh) * 2003-01-24 2007-11-28 株式会社理光 字符串处理装置、字符串处理方法和成像装置
CN104035754A (zh) * 2013-03-05 2014-09-10 北大方正集团有限公司 一种基于xml的自定义代码生成方法及生成器
CN104391826A (zh) * 2014-10-31 2015-03-04 北京思特奇信息技术股份有限公司 一种数据格式转换方法及数据格式转换器
CN104410667A (zh) * 2014-10-31 2015-03-11 北京思特奇信息技术股份有限公司 一种xml报文到json报文的转换方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257575B1 (en) * 2002-10-24 2007-08-14 At&T Corp. Systems and methods for generating markup-language based expressions from multi-modal and unimodal inputs
US9177485B2 (en) * 2008-01-11 2015-11-03 Infosys Limited Method and system for automatically generating questions for a programming language
FR2934388A1 (fr) * 2008-07-25 2010-01-29 Proviciel Mlstate Procede de creation de programme informatique
KR101782704B1 (ko) * 2013-03-15 2017-09-27 뷰라웍스, 엘엘씨 지식 포착 및 발견 시스템
CN106293677B (zh) * 2015-06-08 2019-09-27 阿里巴巴集团控股有限公司 一种代码转换方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079023A (zh) * 2003-01-24 2007-11-28 株式会社理光 字符串处理装置、字符串处理方法和成像装置
CN104035754A (zh) * 2013-03-05 2014-09-10 北大方正集团有限公司 一种基于xml的自定义代码生成方法及生成器
CN104391826A (zh) * 2014-10-31 2015-03-04 北京思特奇信息技术股份有限公司 一种数据格式转换方法及数据格式转换器
CN104410667A (zh) * 2014-10-31 2015-03-11 北京思特奇信息技术股份有限公司 一种xml报文到json报文的转换方法及系统

Also Published As

Publication number Publication date
CN107918542A (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
US7496838B2 (en) Converting markup language files
AU2010212391B2 (en) Integration environment generator
US8972854B2 (en) Graphical creation of a document conversion template
US8407585B2 (en) Context-aware content conversion and interpretation-specific views
CN107391153B (zh) 一种基于Spring与MyBatis框架整合的代码生成方法及装置
JP2006202277A (ja) 非独自言語によって駆動される一般アプリケーション用シーケンス図ジェネレータ
CN101937427A (zh) 一种基于浏览器的内容编辑及发布的系统及方法
WO2019214539A1 (zh) 一种文档展示方法和装置
CN108170409B (zh) Web前端控件的开发方法和系统
Ginev et al. The LATEXML daemon: Editable math on the collaborative web
WO2011069903A1 (en) Method and system for on-line editing electronic documents
CN108664546B (zh) Xml数据结构转换方法和装置
CN107918542B (zh) 一种字符串生成方法及装置
CN104793933A (zh) 一种终端数据展现方法和系统
CN114610301A (zh) 前端代码生成方法、装置、电子设备及存储介质
CN111311461B (zh) 基于b-s的结构化动态病历表单的编辑器及生成方法
Riva et al. Generation of architectural documentation using XML
CN110633081A (zh) 页面生成方法及装置
US20070050706A1 (en) Method of xml transformation and presentation utilizing an application-specific parser
CN110619185B (zh) 一种数据处理方法、装置及电子设备
Aman et al. Reverse engineering: from XML to Uml for generation of software requirement specification
CN111401005B (zh) 文本转换方法、装置及可读存储介质
CN113849173A (zh) 一种基于json的动态表单生成方法及系统
Stoeckle et al. A framework for visual notation exchange
CN111259634B (zh) Xsd格式文件的解析方法及生成方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant