如何以通用方式解析XML文件

时间:2013-05-10 11:33:45

标签: c++ xml libxml2

我正在使用配置文件,以便在用户需要更改配置时,我不必重新编译代码。目前我有一个特定的配置结构,我自己解析。我最近建议使用XML。

我在c ++中使用libxml2并且我正在寻找一种解析XML配置文件的通用方法,因此当我将来更改xml树的结构时,我不必更改解析函数非常。

您能否建议一种标准方法来解析XML文件,而不是取决于结构或类型?

有些事需要注意:
1.构建XML使得只有叶子保存配置的值,树XML结构仅用于可读性目的。
2. XML文件的值可以是字符串,int或数组等,我想根据类型存储该XML值。
3.如果您建议使用某些图书馆,请建议可以在商业上使用的图书馆 4.我希望解析不是strcmp的长函数

我希望这个问题很清楚, 提前谢谢!

1 个答案:

答案 0 :(得分:1)

我建议使用支持XML的Boost Property Tree库作为几种格式之一。

或者你可以查看rapidxml库(Boost在内部使用它的AFAIK)。这是一个非常小的,仅限标题的库,您只需将其复制到项目中即可。在这种情况下,不需要单独的编译或依赖。