السلام عليكم ورحمة الله وبركاته
اخواني عندي مشكله ... أنا أقوم بكتابة برنامج يقوم بتحويلXML File إلا C++ Objects عن طريق TinyXML
كتبت كل شيء ولكن لا استطيع تحويل العناصر الداخليه داخل ال-XML-File
void load(const char* pFilename)
{
cout << "Load started"<<endl;
TiXmlDocument doc(pFilename);
if (!doc.LoadFile()) return;
TiXmlHandle docHandle(&doc);
TiXmlElement* element = docHandle
.FirstChild("System")
.FirstChild( "Model" )
.FirstChild( "Component" )
.ToElement();
TiXmlElement* subComponent= element->FirstChild()->ToElement();
// attributes for the Compnonet
int id;
string name ;
// First loop to get the components
for( element; element; element=element->NextSiblingElement() )
{
name=element->Attribute("name");
id=atoi(element->Attribute("id"));
cout << name << " " <<id<<endl;
// The secound loop to get the subcomponents from the components
cout <<" The SubComonents are : "<<"\n";
for(subComponent;subComponent;subComponent=subComponent->NextSiblingElement())
{
id = atoi(subComponent->Attribute( "id"));
name=subComponent->Attribute("name");
cout << " -ID:"<<id<<
" Name : " << name<<endl;
}
}
}
int main()
{
load("system.xml");
return 0;
}
// XML FILEEEEEEEEEEEEEEEEEEEEEEE
<System depends="3">
<Model>
<Component id="1" name="THE SYSTEM" >
<Subcomponent id="2" name=" Control" ></Subcomponent>
<Subcomponent id="4" name="2D Laser">
<Subcomponent id="2" name="Scanner" ></Subcomponent>
<FailureMode id="57" name="Processing defect" ></FailureMode>
<FailureMode id="58" name="Not Detected" ></FailureMode>
</Subcomponent>
</Component>
</Model>
</System>