TinyXML生成xml文件

声明:欢迎任何人和组织转载本blog中文章,但必须标记文章原始链接和作者信息。

本文链接:http://blog.csdn.net/li_007/archive/2009/03/31/4038989.aspx

开拓进取的小乌龟------->CSDN点滴点点滴滴Blog

前面简单介绍了TinyXML,顺便写了一个简单的例子来测试利用TinyXML生成xml文件,其实代码实现很简单。如下:

运行后利用IE 8.0打开截图如下:

Simple XML

好了,看后就知道很简单的,这也是我选择它的一个原因,但这里做很简单的测试,没有对xml进行验证代码实现,但是TinyXML自己带的test Application中有对xml进行验证的函数,大家有兴趣可以去看。

代码很简单不啰嗦,说点别的,仔细看看代码,其中使用了很多new来建立了对象指针,但是只看到一个delete,也许你会说着会引起内存泄漏,其实在上面的函数中,后面的delete也可以不要,并且还不会造成内存泄漏。原因看看TinyXML实现的源码中TiXmlNode的析构函数的实现代码如下:当然顺便注意下所有的类的虚拟构造函数。

在结合一下前面文章介绍TinyXML的继承图表就清楚了为什么这儿不需要我们手动释放堆栈了,特别是不需要一个一个地释放,只需要最后释放最高节点就可以,比如TiXmlDocument节点。。。。。。在我实现的函数中其实也可以不需要delete xmlDocs这句的,因为他们都是局部变量,当变量的作用域结束的时候,会自动释放。当然使用delete会触发相应的class的析构函数的调用,这些都是C++的实现机制,在次不多说。

BTW:正是由于上面的原理,我们添加到TinyXML中的节点。。。都必须是动态用new来创建的。如果创建的不是指针,在内存释放的时候会出现错误的,这个可以自己去测试。我想TinyXML这样实现是因为TInyXML实现机制的要求,因为它是基于DOM,所有的节点都是在内存中。

<script src="http://s.vdoing.com/u/107/54977.js" type="text/javascript"></script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值