如果我对设置结构一无所知,如何迭代 boost::property_tree (XML 部分)?
我想知道所有字段的名称和 xmlattr 名称。
我在这个库的 boost 文档中没有看到这样的例子。
在此处查看 boost 文档。在页面的下一部分,您可以看到以下示例代码:
// 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());