0

設定構造について何も知らない場合、boost::property_tree (XML 部分) を反復するにはどうすればよいですか?

すべてのフィールドの名前と xmlattr 名を知りたいです。

このライブラリのブースト ドキュメントには、そのような例はありません。

4

1 に答える 1

0

ここでブーストのドキュメントを確認してください。ページの途中で、次のサンプル コードを確認できます。

// 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());
于 2012-10-15T19:09:06.370 に答える