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

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

转载于:https://www.cnblogs.com/zfyouxi/p/4816324.html

开源TinyXML 最简单的新手教程相关推荐

  1. tinyxml c语言,开源TinyXML 最简单的新手教程

    TinyXML它是基于一个非常受欢迎的现在DOM型号XML解析器,简单易用且小巧玲珑,很适合存储简单数据.配置文件. 当前最新版本号是2.6.2 先看一下源代码文档的结构: Docs是帮助文档.里边有 ...

  2. ROS新手教程【一】ROS开源机器人操作系统简介

    导师是机器人方向的,毕设就让我ROS的研究,网上有几篇新手教程,我自己照着做也行,但想了想,一直没有写博客的习惯,索性就从这次开始,主要参考是wiki,其实我建议看得懂英文的照着做就好,不理解得地方再 ...

  3. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程...

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  4. [转]ASP.NET MVC3 新手教程:Hellow简单示例

    本文转自:http://www.cyqdata.com/cnblogs/article-detail-52905 今天给大伙介绍一下:ASP.NET MVC3 新手教程:Hellow简单示例,帮助新手 ...

  5. CAD简单圣诞树新手入门教程:

    合适CAD简单圣诞树新手入门教程: 花:1.先画花瓣 2.画两个相交的圆 3.修剪掉不用的边 4.变成花瓣 5.然后选择花瓣应用阵型工具 6.阵型数量为6个 7.这样花就画好了. 树:1.首先用圆弧命 ...

  6. ROS探索总结(一)(二)(三):ROS总体框架 ROS总体框架 ROS新手教程

    ROS探索总结(一)--ROS简介 一.历史 随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求.2010年Willow Garage公 ...

  7. 新手教程:建立网站的全套流程与详细解释

    新手教程:建立网站的全套流程与详细解释 你要是 Baidu 这个话题,得到的结果八成都是广告--他们都会告诉你,"嘿,我(或某公司)这里可以建网站,傻瓜式的哟,快来投奔我吧!" 新 ...

  8. ESP-01S开发环境搭建及新手教程点灯教程全解详细配图(ESP8266-01s)

    ESP-01S开发环境搭建及新手教程点灯教程全解相当详细(ESP8266-01s) 一.模组简介 二.开发工具 三.开发软件 四.点亮第一盏灯 五.至此完成了ESP-01S在arduino开发环境下点 ...

  9. Clang 新手教程来啦!

    长话短说! 这篇新手教程会让你弄清楚什么是clang.clang AST.clang plugins 和clang tools 等等,让你大概知道clang 可以解决什么问题,而且小白也是可以用cla ...

最新文章

  1. Xamarin SimplerCursorAdapter 适配器(三)
  2. KiFastCallEntry() 机制分析
  3. requests---requests简介
  4. 听说你的项目中仅这些资源就卡成了翔?看看他们怎么做!
  5. VirtualAlloc 申请可执行内存
  6. 重温java web过滤器filter
  7. Ubuntu 迁移 /tmp 到别的硬盘
  8. [HAOI2008]移动玩具
  9. java中fis和fos_java中-的流-与操作
  10. Grafana密码重置为admin
  11. oracle实现aes解密_Oracle的AES加密与解密用法
  12. iOS 动态添加属性方法
  13. 解决无线网连不上的问题
  14. 【危险品识别】基于matlab颜色直方图危险品识别【含Matlab源码 470期】
  15. 西门子plc语句表是c语言吗,三菱、西门子PLC常用语句表,速来收!
  16. SPSS入门教程—对数据进行去重操作的相关方法
  17. teamviewer常用命令
  18. 回撤率 python_最大回撤和最大回撤率的区别?
  19. 常规调幅系统matlab结果,matlab课程设计参考题目
  20. 【Windows】回收站添加快捷键B

热门文章

  1. python int函数和二进制、八进制、十进制转换
  2. keil编译器如何生成二进制bin文件
  3. 改了两天的bug,一个JWT解决了。。。
  4. 生成模型与判别模型的区别
  5. QT 多线程程序设计 -互斥
  6. 《RECURRENT BATCH NORMALIZATION》
  7. kubeadm源码分析(kubernetes离线安装包,三步安装)
  8. LVS-NAT工作模式的实现
  9. 微软取消被指下流的Windows 10更新方法
  10. javaweb男的gulp入手实践