CN102609249A - 基于可扩展标记语言的可配置菜单实现方法 - Google Patents
基于可扩展标记语言的可配置菜单实现方法 Download PDFInfo
- Publication number
- CN102609249A CN102609249A CN2012100023926A CN201210002392A CN102609249A CN 102609249 A CN102609249 A CN 102609249A CN 2012100023926 A CN2012100023926 A CN 2012100023926A CN 201210002392 A CN201210002392 A CN 201210002392A CN 102609249 A CN102609249 A CN 102609249A
- Authority
- CN
- China
- Prior art keywords
- menu
- nodes
- markup language
- attribute
- node
- 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.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
基于可扩展标记语言的可配置菜单实现方法,涉及通信的网络管理领域,包括步骤:在可扩展标记语言配置文件中定义多个片段节点,多个片段节点之间通过片段分隔标识符分隔,每个片段节点包含多个菜单项节点、多个菜单节点和多个分隔符节点,每个菜单节点包含多个子元素节点;调用可扩展标记语言配置文件解析类,读取一个片段节点中的多个菜单项节点、多个菜单节点、多个分隔符节点、多个子元素节点的各个属性后,若有片段分隔标识符,则再次读取下一个片段节点,直至没有片段分隔标识符停止,读取不成功则返回错误信息。该方法简化了菜单配置的复杂度,减少源代码的编写、调试及编译等工作量,提高了工作效率;菜单灵活配置,方便统一查找和维护。
Description
技术领域
本发明涉及通信的网络管理领域,具体来讲是一种基于XML(Extensible Markup Language,可扩展标记语言)的可配置菜单实现方法。
背景技术
随着通信设备发展的日新月异,其功能越来越强大,对于网络管理软件的研发也因此提出了更高的要求。网络管理软件的模块越来越复杂,管理功能也越来越多,如何研发一种可灵活配置、可方便维护的系统便显得越来越重要。
目前系统对于菜单的传统做法是:菜单在软件的各个功能模块中硬编码的进行定义,而在使用时则需要每次重新编译整个源代码工程。这种做法的缺陷是菜单无法灵活配置,修改菜单必须修改源代码,编译过程耗费时间,而且菜单的代码会散落分布在各处源代码中,不利于统一维护。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于XML的可配置菜单实现方法,简化了菜单配置的复杂度,减少源代码的编写、调试及编译等工作量,提高了工作效率;菜单灵活配置,方便统一查找和维护。
为达到以上目的,本发明采取的技术方案是:一种基于可扩展标记语言的可配置菜单实现方法,包括如下步骤:在可扩展标记语言配置文件中定义多个片段节点,多个片段节点之间通过片段分隔标识符分隔,每个片段节点包含多个菜单项节点、多个菜单节点和多个分隔符节点,每个菜单节点包含多个子元素节点;调用可扩展标记语言配置文件解析类,读取一个片段节点中的多个菜单项节点、多个菜单节点、多个分隔符节点、多个子元素节点的各个属性后,若有片段分隔标识符,则再次读取下一个片段节点,直至没有片段分隔标识符停止,读取过程中若出现读取不成功,则返回错误信息。
在上述技术方案的基础上,所述多个分隔符节点将菜单项节点和/或菜单节点按功能分为若干组,菜单项节点、菜单节点以及分隔符节点均为片段节点的子节点。
在上述技术方案的基础上,每一所述片段节点的读取过程为:读取菜单项节点成功后,读取菜单节点,读取成功后再读取子元素节点,当读取菜单项节点或菜单节点时,若读取到分隔符节点,则做出分组标记。
在上述技术方案的基础上,所述片段节点表示菜单项配置脚本片段,定义主菜单或右键菜单内容,片段节点的资源文件参数指定国际化资源文件路径。
在上述技术方案的基础上,所述菜单项节点包括指定菜单对应的操作类名的“操作”属性,从对应的国际化资源文件中读取相应文本的“文本”属性,用来读取相应图标的“图标”属性,指定快捷键的“快捷方式”属性。
在上述技术方案的基础上,所述菜单节点表示一个菜单,其包括“图标”属性,可扩展标记语言配置文件解析类通过该属性设置的路径来读取相应的图标。
在上述技术方案的基础上,所述菜单节点具有“文本”属性,通过“文本”属性内国际化资源文件的内容设置菜单热键。
在上述技术方案的基础上,所述菜单节点具有定义菜单快捷键的“快捷方式”属性。
在上述技术方案的基础上,所述子元素节点表示动态多级子菜单,其包括“提供者”属性,定义的内容为动态子菜单的实现类的路径。
在上述技术方案的基础上,所述可扩展标记语言配置文件解析类通过查找类的路径解析出子菜单对象。
本发明的有益效果在于:
1.采用描述的方式对配置项进行定义,简化了菜单配置的复杂度。
2.通过网管中的XML配置文件解析类,来解析XML配置文件中的各个配置项,保证了菜单配置的正确性、灵活性。
3.脚本定义通过编写格式化的XML配置文件完成,减少了软件源代码的编写、调试及编译等工作量,极大的提高了工作效率。
4.通过简单的修改XML配置文件,就能实现动态加载各个子系统或子模块,增强了系统的可扩展性。
5.对于XML配置文件使用统一存放和管理,实现了方便查找和维护。
附图说明
图1本发明基于可扩展标记语言的可配置菜单实现方法实施例的流程图。
具体实施方式
以下结合附图和具体实施方式对本发明作进一步详细说明。
本发明所述的基于XML的可配置菜单实现方法,包括如下步骤:
在可扩展标记语言配置文件中定义多个片段节点,多个片段节点之间通过片段分隔标识符分隔,每个片段节点包含多个菜单项节点、多个菜单节点和多个分隔符节点,每个菜单节点包含多个子元素节点;
调用可扩展标记语言配置文件解析类,读取一个片段节点中的多个菜单项节点、多个菜单节点、多个分隔符节点、多个子元素节点的各个属性后,若有片段分隔标识符,则再次读取下一个片段节点,直至没有片段分隔标识符停止,读取过程中若出现读取不成功,则返回错误信息。
如图1所示,本实施例基于XML的可配置菜单实现方法具体步骤如下:
S1.在XML配置文件中定义多个片段节点,多个片段节点之间通过片段分隔标识符分隔,每个片段节点包含多个菜单项节点、多个菜单节点和多个分隔符节点,每个菜单节点包含多个子元素节点,上述每个节点都有自己的属性。多个所述菜单项节点、菜单节点以及分隔符节点均为片段节点的子节点,多个分隔符节点将菜单项节点和/或菜单节点按功能分为若干组,根据功能可以将相互关联的菜单项和菜单分为一组,也可以将相互关联的菜单项或菜单分为不同的组。
S2.调用XML配置文件解析类,查找XML配置文件。
S3.判断XML配置文件是否存在,若是存在,就通过XML配置文件解析类开始读取文件信息,若文件不存在,则返回S10。
S4.读取一个片段节点的各个属性,所述片段节点表示菜单对象配置脚本片段,定义主菜单或右键菜单内容,XML配置文件解析类会根据其编号来读取。片段节点的“资源文件”参数指定国际化资源文件路径。若片段节点读取成功,就开始读取片段节点的子节点信息,失败则返回S10。
S5.读取菜单项节点的各个属性,可依次读取,也可以多个菜单项并列读取,菜单项节点读取成功就读取菜单节点,失败则返回S10。当读取菜单项或菜单节点时,若读取到分隔符节点,则在菜单或菜单项之后做出一个分组标记。菜单项节点表示一个菜单项,包括“操作”属性,用来指定菜单对应的操作类名;“操作编号”属性,指定对应权限的操作值,在登录系统时,权限模块会根据“操作编号”去后台校验权限,XML配置文件解析类根据后台返回的权限来控制菜单的显示与否;“文本”属性,XML配置文件解析类通过该属性从对应的国际化资源文件中读取相应文本;“图标”属性,XML配置文件解析类通过该属性设置的路径来读取相应的图标;“快捷方式”属性,指定快捷键。快捷键可以使用Ctrl、Shift、Alt与字符组合的方式,之间以“加号”分隔。
S6.读取菜单节点的各个属性,菜单节点表示一个菜单,其包含“图标”属性,XML配置文件解析类通过该属性设置的路径来读取相应的图标。菜单节点还包含“文本”属性,与“菜单项”节点的相同属性类似,菜单热键是通过“文本”属性中国际化文本的内容来设置的,例如设置网元属性菜单项的“文本”属性为“网元属性(&R)”,这里&符号后面的字母就是热键,那么XML配置文件解析类解析出的网元属性菜单项的热键就是“R”键。菜单通过“快捷方式”属性定义菜单快捷键,例如设置查找菜单项的“快捷方式”属性为“Ctrl+F”,那么XML配置文件解析类解析出的查找菜单项的快捷键就是“Ctrl+F”键。若菜单属性读取成功,则进入S7,读取失败则返回S10。
S7.读取子元素节点的各个属性,子元素节点表示动态多级子菜单,其包括“提供者”属性,本发明的动态多级子菜单加载是通过子元素节点的“提供者”属性来定义的,其定义的内容为动态子菜单的实现类的路径,XML配置文件解析类会查找该类的路径,然后解析出动态多级子菜单对象。子元素节点读取成功后,进入S8,读取失败则返回S10。
S8.判断是否有片段分隔标识符,XML配置文件解析类通过该属性解析,若有片段分隔标识符,则转入S4读取下一个片段节点,若没有片段分隔标识符,则进入S9。
S9.完成解析,返回解析后生成的右键菜单或主菜单对象。
S10.返回错误信息。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种基于可扩展标记语言的可配置菜单实现方法,其特征在于包括如下步骤:
在可扩展标记语言配置文件中定义多个片段节点,多个片段节点之间通过片段分隔标识符分隔,每个片段节点包含多个菜单项节点、多个菜单节点和多个分隔符节点,每个菜单节点包含多个子元素节点;
调用可扩展标记语言配置文件解析类,读取一个片段节点中的多个菜单项节点、多个菜单节点、多个分隔符节点、多个子元素节点的各个属性后,若有片段分隔标识符,则再次读取下一个片段节点,直至没有片段分隔标识符停止,读取过程中若出现读取不成功,则返回错误信息。
2.如权利要求1所述的基于可扩展标记语言的可配置菜单实现方法,其特征在于:所述多个分隔符节点将菜单项节点和/或菜单节点按功能分为若干组,菜单项节点、菜单节点以及分隔符节点均为片段节点的子节点。
3.如权利要求2所述的基于可扩展标记语言的可配置菜单实现方法,其特征在于:每一所述片段节点的读取过程为:读取菜单项节点成功后,读取菜单节点,读取成功后再读取子元素节点,当读取菜单项节点或菜单节点时,若读取到分隔符节点,则做出分组标记。
4.如权利要求1所述的基于可扩展标记语言的可配置菜单实现方法,其特征在于:所述片段节点表示菜单项配置脚本片段,定义主菜单或右键菜单内容,片段节点的资源文件参数指定国际化资源文件路径。
5.如权利要求4所述的基于可扩展标记语言的可配置菜单实现方法,其特征在于:所述菜单项节点包括指定菜单对应的操作类名的“操作”属性,从对应的国际化资源文件中读取相应文本的“文本”属性,用来读取相应图标的“图标”属性,指定快捷键的“快捷方式”属性。
6.如权利要求4所述的基于可扩展标记语言的可配置菜单实现方法,其特征在于:所述菜单节点表示一个菜单,其包括“图标”属性,可扩展标记语言配置文件解析类通过该属性设置的路径来读取相应的图标。
7.如权利要求1所述的基于可扩展标记语言的可配置菜单实现方法,其特征在于:所述菜单节点具有“文本”属性,通过“文本”属性内国际化资源文件的内容设置菜单热键。
8.如权利要求1所述的基于可扩展标记语言的可配置菜单实现方法,其特征在于:所述菜单节点具有定义菜单快捷键的“快捷方式”属性。
9.如权利要求1所述的基于可扩展标记语言的可配置菜单实现方法,其特征在于:所述子元素节点表示动态多级子菜单,其包括“提供者”属性,定义的内容为动态子菜单的实现类的路径。
10.如权利要求1所述的基于可扩展标记语言的可配置菜单实现方法,其特征在于:所述可扩展标记语言配置文件解析类通过查找类的路径解析出子菜单对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100023926A CN102609249A (zh) | 2012-01-06 | 2012-01-06 | 基于可扩展标记语言的可配置菜单实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100023926A CN102609249A (zh) | 2012-01-06 | 2012-01-06 | 基于可扩展标记语言的可配置菜单实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102609249A true CN102609249A (zh) | 2012-07-25 |
Family
ID=46526648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100023926A Pending CN102609249A (zh) | 2012-01-06 | 2012-01-06 | 基于可扩展标记语言的可配置菜单实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102609249A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348835A (zh) * | 2014-10-29 | 2015-02-11 | 中国建设银行股份有限公司 | 一种报文传输方法、自助设备及报文传输系统 |
CN109918121A (zh) * | 2019-02-22 | 2019-06-21 | 深圳市酷开网络科技有限公司 | 一种基于不同芯片方案的配置方法、智能终端及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787675A (zh) * | 2004-12-06 | 2006-06-14 | 株式会社泛泰 | 包含能够通过使用移动flash来构建的菜单的移动通信终端 |
CN101477459A (zh) * | 2008-12-19 | 2009-07-08 | 北京数码大方科技有限公司 | 用于管理信息系统的树视图的节点属性显示方法 |
CN101582948A (zh) * | 2009-06-24 | 2009-11-18 | 杭州世导科技有限公司 | 可直接编辑的ivr动态菜单方法及其访问方法 |
-
2012
- 2012-01-06 CN CN2012100023926A patent/CN102609249A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787675A (zh) * | 2004-12-06 | 2006-06-14 | 株式会社泛泰 | 包含能够通过使用移动flash来构建的菜单的移动通信终端 |
CN101477459A (zh) * | 2008-12-19 | 2009-07-08 | 北京数码大方科技有限公司 | 用于管理信息系统的树视图的节点属性显示方法 |
CN101582948A (zh) * | 2009-06-24 | 2009-11-18 | 杭州世导科技有限公司 | 可直接编辑的ivr动态菜单方法及其访问方法 |
Non-Patent Citations (1)
Title |
---|
赵小宝等: "利用XML文件生成可扩展菜单及菜单的动态变换", 《计算机应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348835A (zh) * | 2014-10-29 | 2015-02-11 | 中国建设银行股份有限公司 | 一种报文传输方法、自助设备及报文传输系统 |
CN104348835B (zh) * | 2014-10-29 | 2018-05-18 | 中国建设银行股份有限公司 | 一种报文传输方法、自助设备及报文传输系统 |
CN109918121A (zh) * | 2019-02-22 | 2019-06-21 | 深圳市酷开网络科技有限公司 | 一种基于不同芯片方案的配置方法、智能终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990148B1 (en) | System and method for dynamic hierarchical data parsing | |
CN100489879C (zh) | 一种对页面数据进行校验的方法、系统和服务器 | |
CN104410667B (zh) | 一种xml报文到json报文的转换方法及系统 | |
CN103853650A (zh) | 一种模糊测试的测试用例生成方法及装置 | |
CN101382893B (zh) | 一种基于Web服务的构件在线组装方法 | |
CN105574082A (zh) | 基于Storm的流处理方法及系统 | |
CN109522018A (zh) | 页面处理方法、装置及存储介质 | |
CN106406844A (zh) | 实现通讯交互平台公众号菜单的方法和装置 | |
US20150089415A1 (en) | Method of processing big data, apparatus performing the same and storage media storing the same | |
CN101794318A (zh) | Url解析方法及设备 | |
CN105573760A (zh) | 基于storm的物联网数据处理系统及方法 | |
CN104461531A (zh) | 一种报表系统自定义函数的实现方法 | |
CN101894059A (zh) | 一种运行状态的检测方法及系统 | |
CN107301347A (zh) | 一种基于静态分析获取Hbuilder App调用图的方法 | |
CN103020318A (zh) | 一种对数据库中数据库表维护的方法 | |
CN106909435B (zh) | 一种网络安全设备命令行的解析方法和装置 | |
CN110489207A (zh) | 参数验证方法、装置及计算机可读存储介质 | |
EP3438818B1 (en) | Method and device for compiling computer language | |
CN102609249A (zh) | 基于可扩展标记语言的可配置菜单实现方法 | |
CN110941655A (zh) | 一种数据格式转换方法及装置 | |
CN102486731B (zh) | 增强软件的软件调用栈的可视化的方法、设备和系统 | |
CN104753891A (zh) | 一种xml报文解析方法及装置 | |
CN110806973A (zh) | 一种接口报文的自动生成方法及装置 | |
CN103399746B (zh) | 一种便于二次开发的信息管理系统及开发方法 | |
CN105335160A (zh) | 一种基于jsf的web端组件敏捷开发方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120725 |