首页 > 代码库 > 开源TinyXML 最简单的入门教程
开源TinyXML 最简单的入门教程
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。