CN107766304A - 一种基于xml的二进制配置文件生成方法 - Google Patents
一种基于xml的二进制配置文件生成方法 Download PDFInfo
- Publication number
- CN107766304A CN107766304A CN201710991909.1A CN201710991909A CN107766304A CN 107766304 A CN107766304 A CN 107766304A CN 201710991909 A CN201710991909 A CN 201710991909A CN 107766304 A CN107766304 A CN 107766304A
- Authority
- CN
- China
- Prior art keywords
- xml
- name
- configuration
- binary
- xml configuration
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于XML的二进制配置文件生成方法,包括根据智能设备配置内容的需要创建XML配置模板,在XML配置模板中定义元素名称、元素属性名称、元素属性值的数据类型以及元素之间的逻辑关系;在对应的XML配置文件中编辑元素属性值;配置工具读取XML配置模板中的配置关系,在XML配置文件中根据名称查找对应元素属性值,将元素属性值按照数据类型转换为二进制格式,写入二进制配置文件。采用本发明,任意的XML配置文件和对应的XML配置模板均可使用同一个配置工具将其转换为二进制配置文件,有效解决了二进制配置文件与配置工具的强耦合性,便于智能电子设备的配置管理和维护。
Description
技术领域
本发明涉及一种基于XML的二进制配置文件生成方法,属于电工技术领域。
背景技术
自动化***中的智能电子设备要正确的执行逻辑功能,需要根据***环境配置***和设备参数。这些参数以配置文件形式存储于智能电子设备中,供其在启动过程中加载并初始化设备。常用的配置文件有两种:XML文件和二进制文件。XML文件具有良好的结构,可读性和维护性强,但文件内容大,解析效率低,不适合硬件资源有限的嵌入式设备。二进制文件通过专门的配置工具生成,内容精炼、解析效率高,但任何格式的更改均需同步修改配置工具,配置文件与配置工具的耦合性强,维护性差。
发明内容
为了解决上述技术问题,本发明提供了一种基于XML的二进制配置文件生成方法。
为了达到上述目的,本发明所采用的技术方案是:
一种基于XML的二进制配置文件生成方法,包括,
根据智能设备配置内容的需要创建XML配置模板,在XML配置模板中定义元素名称、元素属性名称、元素属性值的数据类型以及元素之间的逻辑关系;
在对应的XML配置文件中编辑元素属性值;
配置工具读取XML配置模板中的配置关系,在XML配置文件中根据名称查找对应元素属性值,将元素属性值按照数据类型转换为二进制格式,写入二进制配置文件。
XML配置模板的结构为,
XML配置模板拥有根元素ConfigModel;
ConfigModel拥有不少于一个子元素DO;
DO有一个属性,即元素名称DO_Name;
DO拥有若干个子元素,DO的子元素为另一个DO和/或子元素DA;
DA有二个属性,一个为元素属性名称DA_Name,另一个为元素属性值的数据类型DA_ValueType。
XML配置文件的结构为,
XML配置文件拥有根元素Config;
Config拥有若干个子元素;
Config的子元素名称与XML配置模板中第一级DO的DO_Name一致,该子元素的属性包括元素属性名称和元素属性值,元素属性名称与对应DA的DA_Name一致,元素属性值按照对应DA的DA_ValueType来填写。
若第一级DO的子元素为另一个DO,即下一级DO,XML配置文件中,Config的子元素拥有子元素,其名称与下一级DO的DO_Name一致,元素属性名称与对应DA的DA_Name一致,元素属性值按照对应DA的DA_ValueType来填写。
转换为二进制格式的过程为,
S1)配置工具首先获取XML配置模板中第一级DO的DO_Name;
S2)在XML配置文件中找到与DO_Name名称一致的元素;
S3)获取XML配置模板中DO的子元素,若子元素为下一级DO,则获取下一级DO的DO_Name,转至步骤S2;若子元素为DA,则获取DA的DA_Name,在XML配置文件目标元素中找到与DA_Name名称一致的属性,获取属性值,再根据DA的DA_ValueType中定义的数据类型转换为二进制数据,将二进制数据写入二进制配置文件。
将元素属性值按照数据类型转换为二进制格式,以顺序方式写入二进制配置文件。
本发明所达到的有益效果:采用本发明,任意的XML配置文件和对应的XML配置模板均可使用同一个配置工具将其转换为二进制配置文件,有效解决了二进制配置文件与配置工具的强耦合性,便于智能电子设备的配置管理和维护。
具体实施方式
以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
一种基于XML的二进制配置文件生成方法,包括以下步骤:
步骤1,根据智能设备配置内容的需要创建XML配置模板,在XML配置模板中定义元素名称、元素属性名称、元素属性值的数据类型以及元素之间的逻辑关系。
XML配置模板的结构为:
XML配置模板拥有根元素ConfigModel;
ConfigModel拥有不少于一个子元素DO;
DO有一个属性,即元素名称DO_Name;
DO拥有若干个子元素,DO的子元素为另一个DO和/或子元素DA;
DA有二个属性,一个为元素属性名称DA_Name,另一个为元素属性值的数据类型DA_ValueType。
具体如下:
步骤2,在对应的XML配置文件中编辑元素属性值。
XML配置文件的结构为:
XML配置文件拥有根元素Config;
Config拥有若干个子元素;
Config的子元素名称与XML配置模板中第一级DO的DO_Name一致,该子元素的属性包括元素属性名称和元素属性值,元素属性名称与对应DA的DA_Name一致,元素属性值按照对应DA的DA_ValueType来填写;
若第一级DO的子元素为另一个DO,即下一级DO,XML配置文件中,Config的子元素拥有子元素,其名称与下一级DO的DO_Name一致,元素属性名称与对应DA的DA_Name一致,元素属性值按照对应DA的DA_ValueType来填写。
对应上面的XML配置模板,XML配置文件如下:
<?xml version="1.0"encoding="GB2312"?>
<Config>
<!--元素、属性名称按照配置模板中对应DO_Name、DA_Name填写-->
<数据对象1Name="……"数据属性1_1="……"数据属性1_2="……">
<数据对象2Name="……"数据属性2_1="……"数据属性2_2="……"/>
</数据对象1>
</Config>
步骤3,配置工具读取XML配置模板中的配置关系,在XML配置文件中根据名称查找对应元素属性值,将元素属性值按照数据类型转换为二进制格式,以顺序方式写入二进制配置文件。
转换为二进制格式的过程为:
S1)配置工具首先获取XML配置模板中第一级DO的DO_Name;
S2)在XML配置文件中找到与DO_Name名称一致的元素;
S3)获取XML配置模板中DO的子元素,若子元素为下一级DO,则获取下一级DO的DO_Name,转至步骤S2;若子元素为DA,则获取DA的DA_Name,在XML配置文件目标元素中找到与DA_Name名称一致的属性,获取属性值,再根据DA的DA_ValueType中定义的数据类型转换为二进制数据,将二进制数据写入二进制配置文件。
配置工具在XML配置文件中查找元素和属性时,如果查找失败,则生产二进制配置文件失败。
采用上述方法,任意的XML配置文件和对应的XML配置模板均可使用同一个配置工具将其转换为二进制配置文件,有效解决了二进制配置文件与配置工具的强耦合性,便于智能电子设备的配置管理和维护。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种基于XML的二进制配置文件生成方法,其特征在于:包括,
根据智能设备配置内容的需要创建XML配置模板,在XML配置模板中定义元素名称、元素属性名称、元素属性值的数据类型以及元素之间的逻辑关系;
在对应的XML配置文件中编辑元素属性值;
配置工具读取XML配置模板中的配置关系,在XML配置文件中根据名称查找对应元素属性值,将元素属性值按照数据类型转换为二进制格式,写入二进制配置文件。
2.根据权利要求1所述的一种基于XML的二进制配置文件生成方法,其特征在于:XML配置模板的结构为,
XML配置模板拥有根元素ConfigModel;
ConfigModel拥有不少于一个子元素DO;
DO有一个属性,即元素名称DO_Name;
DO拥有若干个子元素,DO的子元素为另一个DO和/或子元素DA;
DA有二个属性,一个为元素属性名称DA_Name,另一个为元素属性值的数据类型DA_ValueType。
3.根据权利要求2所述的一种基于XML的二进制配置文件生成方法,其特征在于:XML配置文件的结构为,
XML配置文件拥有根元素Config;
Config拥有若干个子元素;
Config的子元素名称与XML配置模板中第一级DO的DO_Name一致,该子元素的属性包括元素属性名称和元素属性值,元素属性名称与对应DA的DA_Name一致,元素属性值按照对应DA的DA_ValueType来填写。
4.根据权利要求3所述的一种基于XML的二进制配置文件生成方法,其特征在于:若第一级DO的子元素为另一个DO,即下一级DO,XML配置文件中,Config的子元素拥有子元素,其名称与下一级DO的DO_Name一致,元素属性名称与对应DA的DA_Name一致,元素属性值按照对应DA的DA_ValueType来填写。
5.根据权利要求4所述的一种基于XML的二进制配置文件生成方法,其特征在于:转换为二进制格式的过程为,
S1)配置工具首先获取XML配置模板中第一级DO的DO_Name;
S2)在XML配置文件中找到与DO_Name名称一致的元素;
S3)获取XML配置模板中DO的子元素,若子元素为下一级DO,则获取下一级DO的DO_Name,转至步骤S2;若子元素为DA,则获取DA的DA_Name,在XML配置文件目标元素中找到与DA_Name名称一致的属性,获取属性值,再根据DA的DA_ValueType中定义的数据类型转换为二进制数据,将二进制数据写入二进制配置文件。
6.根据权利要求1所述的一种基于XML的二进制配置文件生成方法,其特征在于:将元素属性值按照数据类型转换为二进制格式,以顺序方式写入二进制配置文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710991909.1A CN107766304A (zh) | 2017-10-23 | 2017-10-23 | 一种基于xml的二进制配置文件生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710991909.1A CN107766304A (zh) | 2017-10-23 | 2017-10-23 | 一种基于xml的二进制配置文件生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107766304A true CN107766304A (zh) | 2018-03-06 |
Family
ID=61269178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710991909.1A Pending CN107766304A (zh) | 2017-10-23 | 2017-10-23 | 一种基于xml的二进制配置文件生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766304A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446499A (zh) * | 2018-09-25 | 2019-03-08 | 平安科技(深圳)有限公司 | 基于xml的合同模板生成方法、装置、设备及介质 |
CN110705215A (zh) * | 2019-09-24 | 2020-01-17 | 昆山龙腾光电股份有限公司 | Mipi配置文件的编码方法、编码装置及显示装置 |
CN110851171A (zh) * | 2019-11-09 | 2020-02-28 | 许继集团有限公司 | 一种嵌入式平台功能配置方法、配置工具及*** |
CN111026451A (zh) * | 2019-10-31 | 2020-04-17 | 许昌许继软件技术有限公司 | 一种用于变电站终端间隔的参数配置方法及配置工具 |
CN111045748A (zh) * | 2019-12-04 | 2020-04-21 | 方正株式(武汉)科技开发有限公司 | 快速读取配置文件的方法及***、服务器及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150379049A1 (en) * | 2014-06-30 | 2015-12-31 | International Business Machines Corporation | Generating data format description language schema |
CN105787808A (zh) * | 2016-03-01 | 2016-07-20 | 中国电力科学研究院 | 基于泛型编程和反射机制的iec61968标准文档生成***及方法 |
CN106202149A (zh) * | 2016-06-22 | 2016-12-07 | 南京南瑞继保电气有限公司 | 一种iec61850模型文件转换方法 |
CN106202006A (zh) * | 2016-06-27 | 2016-12-07 | 北京百度网讯科技有限公司 | 文件生成方法和装置 |
-
2017
- 2017-10-23 CN CN201710991909.1A patent/CN107766304A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150379049A1 (en) * | 2014-06-30 | 2015-12-31 | International Business Machines Corporation | Generating data format description language schema |
CN105787808A (zh) * | 2016-03-01 | 2016-07-20 | 中国电力科学研究院 | 基于泛型编程和反射机制的iec61968标准文档生成***及方法 |
CN106202149A (zh) * | 2016-06-22 | 2016-12-07 | 南京南瑞继保电气有限公司 | 一种iec61850模型文件转换方法 |
CN106202006A (zh) * | 2016-06-27 | 2016-12-07 | 北京百度网讯科技有限公司 | 文件生成方法和装置 |
Non-Patent Citations (1)
Title |
---|
王婷: "IMA***模块配置数据生成技术的研究与实现", 《计算机光盘软件与应用》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446499A (zh) * | 2018-09-25 | 2019-03-08 | 平安科技(深圳)有限公司 | 基于xml的合同模板生成方法、装置、设备及介质 |
CN110705215A (zh) * | 2019-09-24 | 2020-01-17 | 昆山龙腾光电股份有限公司 | Mipi配置文件的编码方法、编码装置及显示装置 |
CN110705215B (zh) * | 2019-09-24 | 2023-10-03 | 昆山龙腾光电股份有限公司 | Mipi配置文件的编码方法、编码装置及显示装置 |
CN111026451A (zh) * | 2019-10-31 | 2020-04-17 | 许昌许继软件技术有限公司 | 一种用于变电站终端间隔的参数配置方法及配置工具 |
CN110851171A (zh) * | 2019-11-09 | 2020-02-28 | 许继集团有限公司 | 一种嵌入式平台功能配置方法、配置工具及*** |
CN110851171B (zh) * | 2019-11-09 | 2023-08-11 | 许继集团有限公司 | 一种嵌入式平台功能配置方法、配置工具及*** |
CN111045748A (zh) * | 2019-12-04 | 2020-04-21 | 方正株式(武汉)科技开发有限公司 | 快速读取配置文件的方法及***、服务器及介质 |
CN111045748B (zh) * | 2019-12-04 | 2023-06-30 | 方正株式(武汉)科技开发有限公司 | 快速读取配置文件的方法及***、服务器及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766304A (zh) | 一种基于xml的二进制配置文件生成方法 | |
CN106021594B (zh) | 数据库表和xml报文的映射处理方法及其*** | |
US20130117008A1 (en) | Techniques for automated document translation | |
CN101430714B (zh) | 一种基于样式的内容结构化加工方法及*** | |
CN104699714B (zh) | 将书版格式文件转换为epub格式文件的方法及装置 | |
CN102122280B (zh) | 一种智能提取内容对象的方法及*** | |
CN103885925B (zh) | 一种xbrl实例文档的封装方法 | |
JP2020187733A (ja) | アプリケーション・プログラミング・インターフェースのドキュメンテーションの注釈付け | |
CN105205038B (zh) | 完整物料清单表生成方法及装置 | |
CN102663094A (zh) | Iec61970cim模型校验方法 | |
CN105204860A (zh) | 一种快速生成自定义静态Web页面的方法及装置 | |
WO2018165902A1 (zh) | 一种通信协议解析代码自动生成方法及*** | |
CN109445771A (zh) | 一种cs架构下网络层模块代码自动生成工具及方法 | |
CN105468793A (zh) | 一种仿真模型数据的自动化管理方法 | |
CN103309849B (zh) | 一种基于OpenXML的docx文档创建和修改方法 | |
CN105721451B (zh) | 一种可拓展的Modbus协议解析方法及装置 | |
CN109992801A (zh) | 一种基于pads软件的pcb更新方法 | |
CN103914293B (zh) | 生成页面的方法及服务器 | |
CN105824944A (zh) | 一种基于脚本语言的xml配置数据维护方法及*** | |
CN108366050A (zh) | 一种通用通信协议处理方法 | |
CN101944133A (zh) | 一种xml元数据对象化解析方法及*** | |
CN110990000B (zh) | Mvc模式设计模型层的数据请求处理方法、装置及设备 | |
CN103176801A (zh) | 一种表项操作接口函数的生成方法及装置 | |
CN100589542C (zh) | 一种电视节目标识的分布式自动生成方法 | |
CN111143310B (zh) | 日志记录方法及装置、可读存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180306 |