ここのブーストドキュメントに基づいています:
http://www.boost.org/doc/libs/1_41_0/doc/html/boost_propertytree/container.html
「ノードには同じキー値を持つ複数の子が存在する場合があります。ただし、これらの子は必ずしも連続しているわけではありません。find によって返される反復子は、これらのいずれかを参照する可能性があり、同じ名前の他の子の相対位置について保証はありません。子供。"
サンプル XML:
<library>
<book><title>Title_1</title></book>
<book><title>Title_2</title></book>
<book><title>Title_3</title></book>
</library>
サンプル ブースト コード:
ptree pt;
pt.push_back(ptree::value_type("book", ptree("title")))
// This finds the first book and cannot iterate to the second one:
ptree::const_iterator it = pt.find("book");
それを知った上で、どのようにしてすべての本を手に入れ、すべての本を確実に手に入れることができるでしょうか?