다음 XML 파일이 있으며 아래 구조를 사용하여 저장하려고합니다.부스트 특성 트리가있는 XML 구문 분석
데이터 구조체 :
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 파일을 구문 분석하는 방법에 대한 예제를 찾을 수 없다는 것입니다.