TinyXML2是简单实用的开源的C++XML文件解析库,可以很方便的应用到现有的项目之中。
TinyXML2解析器相对TinyXML1在代码上是完全重写,使其更适合于游戏开发中使用。它使用更少的内存,更快,并使用更少的内存分配。
使用方法:
tinyxml2.cpp和tinyxml2.h 是在目录external/tinyxml2中,使用的时候需要添加头文件和namespace;
#include “tinyxml2.h”
using namespace tinyxml2
xml文件如下:
<fileinfo>
<version>v1.0</version>
<key1>1</key1>
<key2>1</key2>
<key3>1</key3>
<key4>1</key4>
</fileinfo>
读取文件代码:
#define ROOT_NODE "fileinfo"
int CXMLCfg::getFileCfg()
{
const char* text = NULL;
XMLDocument doc;
if(doc.LoadFile("file.xml")!=0)
{
LOGE("load xml file failed");
return -1;
}
XMLElement* rootNode=doc.FirstChildElement(ROOT_NODE);
while(NULL != rootNode)
{
XMLElement *node = rootNode->FirstChildElement("key1");
if(NULL != node)
{
text = node->GetText();
length = strlen(text);
LOGD("text=%s \n", text );
return length;
}
rootNode = rootNode->NextSiblingElement();
}
return -2;
}