boost的property_tree可以用来读取xml文件。用到的类 boost::property_tree::ptree,这个是用来保存解析后的xml数据流的类,解析函数read_xml,这个函数支持
fstream和文件路径两种参数。
获取xml项就要靠最终保存分析结果的ptree类了。
若只是读取用到的成员基本就是两个ptree.get_child和ptree.get。
xml文件:
<Games DefaultGame = "利剑1">
<Group name = "中和游戏">
<child id = "0" name="利剑1"/>
<child id = "1" name="利剑2"/>
</Group>
</Games>
读取代码:
#include <boost/property_tree/ptree.hpp>
#include "boost/property_tree/xml_parser.hpp"
#include <windows.h>
using boost::property_tree::ptree;
int _tmain(int argc, _TCHAR* argv[])
{
ptree pt;
read_xml("GamesList.xml", pt); //解析xml文件到ptree
for (auto& root: pt.get_child("Games")) //遍历Games的子项
{
if (root.first == "<xmlattr>&