J'essaie de transmettre les éléments d'un boost :: property_tree :: ptree à une fonction. En détail, je dois suivant le code XML à partir duquel un ptree est initialisés:boost :: property_tree passant sous-arbre y compris <xmlattr>
<Master Name='gamma'>
<Par1 Name='name1'>
<Value>0.</Value>
<Fix>1</Fix>
</Par1>
<Par2 Name='name2'>
<Value>0.</Value>
<Fix>1</Fix>
</Par2>
</Master>
Je voudrais passer une partie de celui-ci à une fonction. Fondamentalement, je veux passer:
<Par2 Name='name2'>
<Value>0.</Value>
<Fix>1</Fix>
</Par2>
La fonction pourrait ressembler à ceci:
void processTree(which_type_do_I_put_here element){
std::string n = element.get<std::string>("<xmlattr>.Name");
double val = element.get<double>("Value");
}
En général je pourrais passer un sous-arbre en utilisant ptree::get_child("par2")
. Cela a l'inconvénient que la fonction n'a pas accès à <xmlattr>
de ce nœud.
Comment puis-je passer cette partie de l'arborescence avec accès à <xmlattr>
? Merci d'avance pour vos idées.
~ Peter
'' n'a rien de spécial, c'est juste un arbre enfant. Donc 'get_child (" par2 ")' retourne simplement un arbre qui a un arbre enfant ''. –
zett42