1

我喜欢Boost property_tree解析某些类型文件的方式。但我的文件有点不同

/*--------------------------------*- C++ -*----------------------------------*\
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW |
\*---------------------------------------------------------------------------*/
INFORMATION
{
    version     2.0;
    format      ascii;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

school
{
    "(boys|girls)"
    {
        hair red;
        legs short;
        nose long;
        mood good;
    }

    workers
    {
        hair green;
        legs long;
        nose abnormal;
        mood bad;
    }
}

// ************************************************************************* //

我希望它可以这样使用

string myMood = pt.get<std::string>("school.boys.mood");
cout<< "\tmyMood is = " << myMood << endl;

这是非常干净和直接的。

但目前看来 boost ptree INFO 解析器无法处理注释和"(boys|girls)"类型。

有什么解决办法吗?

4

0 回答 0