J'utilise boost::property_tree
. La documentation est très vague et globalement inutile pour la plupart. Regarder la source/les exemples n'a pas aidé beaucoup non plus.Boost problèmes d'analyse de l'arborescence des propriétés et Xml
Ce que je me demande est la suivante:
<VGHL>
<StringTable>
<Language>EN</Language>
<DataPath>..\\Data\\Resources\\Strings\\stringtable.bst</DataPath>
</StringTable>
</VGHL>
Comment puis-je itérer sur tous les éléments au niveau actuel? Si je fais ceci:
read_xml(fin, bifPropTree);
VGHL::String tablePath;
BOOST_FOREACH(boost::property_tree::wiptree::value_type &v,
bifPropTree.get_child(L"VGHL.StringTable"))
{
m_StringTable->ParseEntry(v.second, tablePath);
}
Dans ParseEntry
J'essaie ceci:
VGHL::String langName = stringTree.get<VGHL::String>(L"StringTable.Language");
Résultats à une exception (non n'existe pas). J'ai également essayé ceci:
VGHL::String langName = stringTree.get<VGHL::String>(L"Language");
Même problème. De ma compréhension quand j'appelle ParseEntry
je passe une référence à l'arbre à ce noeud.
Y a-t-il un moyen de gérer cela, lorsque j'ai plusieurs entrées de StringTable
en utilisant l'arbre des propriétés?
Merci d'avoir souligné cela dans le processus de fusion des bases de code. VGHL et :: Chaîne à la fois Ludo sont typedefs de std :: wstring :) C'était pas le problème :( – UberJumper
Aussi je viens de vérifier que l'éther de travail doenst. Vous pouvez utiliser itérateurs, mais ils seront toujours sur le niveau actuel. – UberJumper