मैं boost::property_tree
का उपयोग कर रहा हूं। अधिकांश भाग के लिए प्रलेखन बहुत अस्पष्ट और समग्र रूप से अनुपयोगी है। स्रोत/उदाहरणों को देखते हुए, इससे भी ज्यादा मदद नहीं मिली।बूस्ट प्रॉपर्टी ट्री और एक्सएमएल पार्सिंग समस्याएं
<VGHL>
<StringTable>
<Language>EN</Language>
<DataPath>..\\Data\\Resources\\Strings\\stringtable.bst</DataPath>
</StringTable>
</VGHL>
मैं वर्तमान स्तर पर सभी तत्वों से अधिक कैसे पुनरावृति कर सकते हैं:
क्या मैं सोच रहा हूँ पीछा कर रहा है? मैं ऐसा करते हैं तो: एक अपवाद में
VGHL::String langName = stringTree.get<VGHL::String>(L"StringTable.Language");
परिणाम (मौजूद नहीं है नहीं):
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);
}
ParseEntry
में मैं यह कोशिश। मैंने यह भी कोशिश की है:
VGHL::String langName = stringTree.get<VGHL::String>(L"Language");
वही समस्या।
मेरी समझ से जब मैं ParseEntry
पर कॉल करता हूं तो मैं उस नोड पर पेड़ का संदर्भ पास कर रहा हूं।
क्या इससे निपटने का कोई तरीका है, जब मेरे पास संपत्ति पेड़ का उपयोग करके StringTable
की एकाधिक प्रविष्टियां हैं?
मूल रूप से कोडबेस को विलय करने की प्रक्रिया में इंगित करने के लिए धन्यवाद। VGHL और लूडो :: स्ट्रिंग दोनों std :: wstring :) की typedefs हैं यही समस्या :( – UberJumper
इसके अलावा मैं सिर्फ जाँच नहीं था, कि doenst काम ईथर। आप iterators उपयोग कर सकते हैं, लेकिन वे हमेशा पर होगा वर्तमान स्तर – UberJumper