TinyXML简单记录
来源:互联网 发布:shake it offmp3在线 编辑:程序博客网 时间:2024/06/05 01:16
啰嗦的开场白
tinyxml是开源的,小巧的xml处理库,c++编写。
在这里可以下载到最新的源码:http://sourceforge.net/projects/tinyxml/
当前我下载到的最新版本为2.6.2
下载后解压,可以找到sln文件,vs2010及以上版本可以打开。
可以看到一共4个工程,其中有用的有2个,另外2个是test工程。
tinyxml和tinyxmlSTL,以及2个对应的test。
编译后发现有报错,成功2个失败2个,查看错误发现出错的是2个test工程,打开代码文件,发现主要是里面的字符编码问题,据说修改字符编码就可以。
不需要test,所以无视。
2个lib都编译成功了。
tinyxml是一般c++实现的,tinyxmlSTL是使用STL实现的,使用起来基本没啥区别,看个人习惯和爱好了。
简单说,就是用char*和std::string的区别。
大部分人喜欢STL版本的,我就觉得普通版本的就挺好,所以就直接拿了普通版的用。
需要编译出来的lib文件(tinyxml.lib,如果你喜欢STL版本的,就拿tinyxmlSTL.lib),以及2个头文件(tinyxml.h和tinystr.h),拷贝到工程里,包含下就好。
OK,可以准备自己test了,网上入门教程很多,个人参考了这个:
http://www.cnblogs.com/kex1n/archive/2010/10/03/1841502.html
感谢作者翻译。
几个类
tinystr.h
这里只有2个类,这2个类都是对stl中的类的模拟,一个string,一个outstream。
tinyxml.h
这里才是tynixml的关键部分,包含node、attribute、element等。
重要的注释:
/*<span style="white-space:pre"></span>A Document can contain:Element(container or leaf)Comment (leaf)Unknown (leaf)Declaration( leaf )An Element can contain:Element (container or leaf)Text(leaf)Attributes (not on tree)Comment (leaf)Unknown (leaf)A Decleration contains: Attributes (not on tree)*/
内存管理
需要注意的是,外面new的数据,通过不同的函数加到xml内容里,内存管理方式是不同的,有些会直接把相应的内存管理直接拿到库内部去,也就是由库内部来负责delete。有些则还是不管,这些就需要自己来做delete。
具体的可以看相应的英文说明。
这里说下2个我用到的函数:
InsertEndChild:这个函数只是将元素添加到xml文档里,元素本身的内存管理还是要自己搞定
LinkEndChild:这个函数将元素添加到xml文档里,同时将内存管理也交给库,可以看到函数说明里有这么一句:
the node to be added is passed by pointer, and will be henceforth owned (and deleted) by tinyXml.
- TinyXML简单记录
- TinyXml使用记录
- TinyXML简单应用
- TinyXML 简单使用
- Tinyxml简单使用法
- TinyXML的简单应用
- Tinyxml简单使用法
- tinyxml简单解析
- Tinyxml简单使用法
- TinyXML的简单用法
- 记录一些TinyXml使用指南(1)
- 记录一些TinyXml使用指南(2)
- 记录一些TinyXml使用指南(4)
- 记录一些TinyXml使用指南(3)
- tinyXML 简单读取xml示例
- 【分析总结框架记录】tinyxml库使用
- tinyXML
- tinyxml
- 关于时钟
- 3-4. 成绩转换(15)
- CheckPoint没有自动执行[TimesTen运维基础]
- Linux 上的基础网络设备详解
- 集成SDK服务[随手记]
- TinyXML简单记录
- 2012年度最佳Web前端开发工具和框架
- 开源框架开发框架|thinkphp自学教程(
- 如何用Google APIs和Google的应用系统进行集成(5)----如何把Google Tasks的JSON Schema转换成XML的Schema(XSD)?
- 不常用的命令
- C语言中关键字、标识符、注释、变量、运算符
- 左外连接 where条件 on条件
- 教你做一个优质的女人
- Linux下安装protobuf