迭代boost :: property_tree XML

时间:2012-10-15 19:06:07

标签: c++ boost

如果我对设置结构一无所知,我如何迭代boost :: property_tree(XML部分)?

我想知道所有字段和xmlattr名称的名称。

我在这个库的boost文档中没有看到这样的例子。

1 个答案:

答案 0 :(得分:0)

检查提升文档here。在页面的下方,您可以看到此示例代码:

// Iterate over the debug.modules section and store all found
// modules in the m_modules set. The get_child() function
// returns a reference to the child at the specified path; if
// there is no such child, it throws. Property tree iterators
// are models of BidirectionalIterator.
BOOST_FOREACH(ptree::value_type &v,
        pt.get_child("debug.modules"))
    m_modules.insert(v.second.data());

只需修改代码即可遍历根属性树中的所有模块(如果需要,可以递归到子树中)。

例如:

ptree my_tree;
// Read in your XML to the tree
...
BOOST_FOREACH(ptree::value_type &v,
     pt, do_something_with_field(v.second.data());