tinyxml的用法和实例

        现在很多协议都用xml来设计,方便扩展,也具有兼容性。现在流行的json和gson就不说了,应用比较多的tinyxml也是很不错的。下面介绍下tinyxml的用法和实例。

 

使用tinyxml,需要在工程中包含其源码,并在头文件建立引用关系。下面是一个简单的例子,按照层次关系打印出xml文件。

代码如下:

#include "stdafx.h"  
#include "targetver.h"  
#include "tinystr.h"  
#include "SystemCommon.h"  
#include "tinyxml.h"  
 
void ParseXML(TiXmlElement *Element); 
 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
 
    char c[2048] =  "" 
                    "" 
                    "计算机" 
                    "" 
                    "" 
                    "88208888" 
                    "on the ground" 
                    "" 
                    "
西安市太白南路二号
" "
" "" "88206666" "
西安市光华路
" "
" "
" "
"; TiXmlDocument *myDocument = new TiXmlDocument(); //假设文件名是xml.xml myDocument->LoadFile("xml.xml",TIXML_ENCODING_UTF8); //myDocument->Parse(c, 0,TIXML_ENCODING_UNKNOWN); TiXmlElement *rootElement = myDocument->RootElement(); while(rootElement) { ParseXML(rootElement); rootElement = rootElement->NextSiblingElement(); } delete myDocument; cout<<"----------------END-----------------"<Value()<<" "; const char * str = NULL; if(str = pElement->GetText()) cout<<" "<FirstAttribute(); while(attributeOfStudent) { PrintTree(i); std::cout << attributeOfStudent->Name() << " : " << attributeOfStudent->Value()<Next(); } TiXmlElement* ChildElement = pElement->FirstChildElement(); while(NULL != ChildElement) { i++; ParseXML(ChildElement); i--; ChildElement = ChildElement->NextSiblingElement(); } }


 

例如要解析的文件内容是
 



   
    
      
        88208888
        on the ground
           
        
        
Road1
88206666
Road2
few teatchers


 转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/38310691

 

你可能感兴趣的:(tinyxml的用法和实例)