用TinyXml2读取XML文件的一个简单Demo

废话少说直接上代码,需要的人自然一看便懂,对于第一次接触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

 

你可能感兴趣的:(读取xml)