废话少说直接上代码,需要的人自然一看便懂,对于第一次接触TinyXml2的人来说还是有帮助的.
<?xml version="1.0"?> <Table name="PersonInfo"> <Person Type="学生"> <Age age = "年龄">18</Age> <Height Hei = "身高">1.7</Height> </Person> <Person Type="教师"> <Age age = "年龄">28</Age> <Height Hei = "身高">1.6</Height> </Person> <Person Type="警察"> <Age age = "年龄">30</Age> <Height Hei = "身高">1.8</Height> </Person> </Table>
tinyxml2::XMLDocument Doc; Doc.LoadFile("Test.xml"); tinyxml2::XMLElement *pRoot=Doc.RootElement();//获取根节点 tinyxml2::XMLElement *pNode=pRoot->FirstChildElement("Person"); while (pNode) { tinyxml2::XMLElement *pChildNode=pNode->FirstChildElement();//获取第一个值为Value的子节点 默认返回第一个子节点 const char* pContent; const tinyxml2::XMLAttribute *pAttributeOfNode = pNode->FirstAttribute();//获取第一个属性值 std::cout<< pAttributeOfNode->Value()<<":"; while(pChildNode) { pContent=pChildNode->GetText(); std::cout<<pChildNode->FirstAttribute()->Value()<<":"<<pContent<<" "; pChildNode=pChildNode->NextSiblingElement(); } std::cout<<std::endl; pNode=pNode->NextSiblingElement(); }
程序运行结果如下:
学生:年龄:18 身高:1.7 教师:年龄:28 身高:1.6 警察:年龄:30 身高:1.8