Estoy usando boost::property_tree
. La documentación es muy vaga y en general no es útil en su mayor parte. En cuanto a la fuente/ejemplos tampoco ayudó mucho.Boost Property Tree y Xml parsing Problems
Lo que me pregunto es la siguiente:
<VGHL>
<StringTable>
<Language>EN</Language>
<DataPath>..\\Data\\Resources\\Strings\\stringtable.bst</DataPath>
</StringTable>
</VGHL>
Como puedo iterar sobre todos los elementos en el nivel actual? Si hago esto:
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);
}
En ParseEntry
de que este intento:
VGHL::String langName = stringTree.get<VGHL::String>(L"StringTable.Language");
Resultados en una excepción (no no existe). También probé esto:
VGHL::String langName = stringTree.get<VGHL::String>(L"Language");
Mismo problema.
Según entiendo cuando llamo al ParseEntry
, estoy haciendo una referencia al árbol en ese nodo.
¿Hay alguna forma de solucionar esto, cuando tengo varias entradas de StringTable
usando el árbol de propiedades?
Gracias por señalar eso estoy básicamente en el proceso de fusionar las bases de código. VGHL y Ludo :: string tanto son typedefs de std :: :) wstring Eso no era el problema :( – UberJumper
También acabo de comprobar, que doenst éter trabajo. Puede utilizar iteradores, pero siempre estará en el nivel actual. – UberJumper