一. 目标
首先这个标题,我本来想写《XML配置文件解析框架以及自动代码生成》,可这样会让读者误以为是XML解析器,虽然有“配置文件”几个字,但还是很绕;然 后又想写《基于XML的配置文件解析框架以及自动代码生成》,这样又会误以为框架和代码是XML来表现的,虽然我没见过这种东西,不过见多识广的人就说不 定了。最终我取了这个标题,表明我的目的无非是要做一个库来解析基于XML的配置文件。
很多程序需要配置文件,特别是一些服务程序,配置文件来保存输入参数来控制策略等等。一般是以ini,注册表或者XML的形式出现,近年来,XML有一统天下的趋势,其中原因就不用我说了。
本文只讨论面向应用的配置文件解析,也就是说配置文件的字段的名称是可以自主决定的。
假如我的服务程序需要配置如下几类参数:
1. 本地监听端口密码
2. 工作线程数,网络收发线程数
3. 内存池数,包括64,256,1k, 4k...
4. 数据库连接参数:地址、端口、数据库名、帐号、密码
那么可能希望最终的配置是这样的
<?xml version="1.0" encoding="utf-8"?>
<MSG_CONFIG>
<IE_LISTEN listen_ip="0.0.0.0" listen_port="9876" />
<IE_THREAD netthread_cnt="8" workthread_cnt="12" />
<