के साथ पार्स एक्सएमएल मेरे पास निम्न XML फ़ाइल है और मैं इसे नीचे संरचनाओं का उपयोग करके स्टोर करना चाहता हूं।बढ़ावा संपत्ति पेड़
डेटा structs:
struct transitions
{
string oldstate;
string event;
string newstate;
};
struct XML_Diagram
{
string diag_name;
string diag_defaultstate;
list<string> diag_states;
list<string> diag_events;
list<transitions> diag_transitions;
};
xml फ़ाइल:
<diagram>
<diagname>DiagaX</diagname>
<states>
<state>A</state>
.............
</states>
<events>
<event>ev1</event>
.................
</events>
<defaultstate>A</defaultstate>
<transitions>
<transition>
<oldstate>A</oldstate>
<event>ev1</event>
<newstate>B</newstate>
</transition>
<transition>
<oldstate>B</oldstate>
<event>ev2</event>
<newstate>C</newstate>
</transition>
.........................
</transitions>
</diagram>
यह मेरे लिए स्पष्ट है कि कैसे मैं diagram.states तक पहुँचने के लिए कर सकते हैं। मैं folowing कोड के साथ कर सकते हैं:
using boost::property_tree::ptree;
ptree pt;
// Get diagram states
BOOST_FOREACH(ptree::value_type &v, pt.get_child("diagram.states"))
{
diag_states.push_back(v.second.data());
}
क्या मेरे लिए स्पष्ट नहीं है कि कैसे मैं स्तर diagram.transitions.transition में से डेटा का उपयोग कर सकते है?
मेरी समस्या यह है कि मुझे कई स्तरों के साथ अधिक जटिल xml फ़ाइलों को पार्स करने के तरीके पर दस्तावेज़ों में कोई उदाहरण नहीं मिला।