Hello,
 
concerning Boost.PropertyTree:
 
First:
Taking the example file from the Tutorial:
<debug>
    <filename>debug.log</filename>
    <modules>
        <module>Finance</module>
        <module>Admin</module>
        <module>HR</module>
    </modules>
    <level>2</level>
</debug>
 
The module entries are parsed using
    BOOST_FOREACH(ptree::value_type &v,
            pt.get_child("debug.modules"))
        m_modules.insert(v.second.data());
 
But reading the documentation for "get_child" confuses me:
 
---------------
self_type & get_child(const path_type & path);
 
Get the child at the given path, or throw ptree_bad_path.
 
Notes:
Depending on the path, the result at each level may not be completely determinate, i.e. if the same key appears multiple times, which child is chosen is not specified.
[...]
---------------
 
So how is it garantueed that BOOST_FOREACH will iterate over all the children?
 
 
Second: (This is my actual problem)
If for example i extend the file a bit like this:
<debug>
    <filename>debug.log</filename>
    <modules>
        <module>Finance</module>
            <param1>100</param1>
            <param2>200</param2>
        <module>Admin</module>
            <param1>100</param1>
            <param2>200</param2>
        <module>HR</module>
            <param1>100</param1>
            <param2>200</param2>
    </modules>
    <level>2</level>
</debug>
 
Now the "modules" have sub-items.
How would i go to iterate over the modules and children if i'd need to create an object for each module and associate the right params to each?
 
Thanks,
regards,
Lars