开源TinyXML 最简单的入门教程
TinyXML是目前非常流行的一款基于DOM模型的XML解析器,简单易用且小巧玲珑,非常适合存储简单数据,配置文件。该项目属于开源项目,在sourceforge上边的链接是:http://sourceforge.net/projects/tinyxml/ 当前最新版本是2.6.2 先看一下源码文档的结构: Docs是帮助文档,里边有非常多的使用说明,仅仅截一张图看一下
TinyXML是目前非常流行的一款基于DOM模型的XML解析器,简单易用且小巧玲珑,非常适合存储简单数据,配置文件。
该项目属于开源项目,在sourceforge上边的链接是:http://sourceforge.net/projects/tinyxml/
当前最新版本是2.6.2
先看一下源码文档的结构:
Docs是帮助文档,里边有非常多的使用说明,仅仅截一张图看一下:
具体根据需要再看
我们使用的是它的库,可以是静态的也可以是动态库,我就用静态库了,将这里边的几个头文件和源文件一起创建一个工程,生成Lib库:tinyxml.lib
使用的时候,将这两个头文件以及生成的静态库加进去:
一个简单的例子
#include <iostream>
using namespace std;
#ifdef TIXML_USE_STL
#include <iostream>
#include <sstream>
using namespace std;
#else
#include <stdio.h>
#endif
#if defined( WIN32 ) && defined( TUNE )
#include <crtdbg.h>
_CrtMemState startMemState;
_CrtMemState endMemState;
#endif
#include "tinyxml/tinyxml.h"
int main()
{
TiXmlDocument *pDoc = new TiXmlDocument;
if (NULL==pDoc)
{
return false;
}
TiXmlDeclaration *pDeclaration = new TiXmlDeclaration("1.0","gb2312","");
if (NULL==pDeclaration)
{
return false;
}
pDoc->LinkEndChild(pDeclaration);
// 生成一个根节点
TiXmlElement *pRootEle = new TiXmlElement("索引数据包信息");
pDoc->LinkEndChild(pRootEle);
//头节点
TiXmlElement *pHeader = new TiXmlElement("头节点");
pRootEle->LinkEndChild(pHeader);
TiXmlElement *pCellNode = new TiXmlElement("字段1");
pHeader->LinkEndChild(pCellNode);
pCellNode->SetAttribute("str1","1状态");
pCellNode->SetAttribute("str2","0状态");
pDoc->SaveFile("d:\\result.xml");
return 0;
}
结果:
暂时这里边的字符串不能是宽字符的,转换可以这样:
DWORD n=WideCharToMultiByte(CP_OEMCP,NULL,szBuf,-1,NULL,0,NULL,FALSE);
char *cname=new char[n+1];
WideCharToMultiByte(CP_OEMCP,NULL,szBuf,-1,cname,n,NULL,FALSE);
cname[n]=0;
其中szBuf是宽字符串。
代码工程在这:http://download.csdn.net/detail/duhaomin/7517915
参考:
http://www.cnblogs.com/phinecos/archive/2008/03/11/1100912.html
http://blog.csdn.net/clever101/article/details/5334369
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)