property_tree是一个保存了多个属性值的属性数据结构,可以用类似路径的简单方式访问任意节点的属性,而且每个节点都可以用类似STL的风格遍历子节点。property_tree特别适合于应用程序的配置数据处理,可以
解析xml、ini、json和info四个格式的文本数据。
在处理四种格式的文件时,除包含头文件、读文件、写文件时有部分区别外,其他对文件内部数据操作时基本一致(因为文件格式都基本一直)。实际上,property_tree内部使用的就是一个小巧快速的开源XML解析器——rapidxml。
Xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<config>
<RootFolder title="windows" size="10Mb">
<!-- File Fisrt Comment -->
<!-- File Second Comment -->
<paths attr="directory1">
<!-- Paths Comment -->
<pathname title="hdr">dir11</pathname>
<pathname title="src">dir12</pathname>
<pathname title="doc">dir13</pathname>
</paths>
<paths attr="directory2">
<pathname title="def">dir21
<!-- pathname Comment -->
</pathname>
<pathname title="lib">dir22</pathname>
<pathname title="dll">dir23</pathname>
</paths>
</RootFolder>
</config>
代码如下:
#include<iostream>
using namespace std;
#include <boost/typeof/typeof.hpp>
#inclu