开源TinyXML 最简单的新手教程

TinyXML它是基于一个非常受欢迎的现在DOM型号XML解析器,简单易用且小巧玲珑,很适合存储简单数据。配置文件

该项目属于开源项目,在sourceforge上边的链接是:http://sourceforge.net/projects/tinyxml/ 

 

当前最新版本号是2.6.2

 

先看一下源代码文档的结构:

 

Docs是帮助文档。里边有许多的使用说明,只截一张图看一下:

 

详细依据须要再看

我们使用的是它的库。能够是静态的也能够是动态库。我就用静态库了,将这里边的几个头文件和源文件一起创建一个project,生成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是宽字符串。

 

代码project在这: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

 

 

 

版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值