TinyXml使用总结

最近由于接了一个核外面对通的项目,需要进行Xml文件的读写。之前都没有接触过这些,临时被赶鸭子上架。在网上搜了一些,TinyXml的使用率比较高。因为TinyXml的开源的,用起来比较方便,同时如果出现问题,定位起来也相对简单。

因为是初次接触,没有什么方法,无非就是搜搜教程,在网上参考各位大神的经验。终于现在有些点心得,记录下来。同时把遇到的疑惑也写下来。

建议初次接触TinyXml的同学,先大致的了解一下Xml文件的结构。

TinyXml的类的组织特别合理。除了基类外,每一个类代表Xml文件的一个元素。

TiXmlDocument      表征Xml文件的类,也是进行读写Xml文件的入口

TiXmlDecleration    Xml文件的第一行,也就是Xml文件的声明

TiXmlElement         Xml文件中的元素。包括TiXmlNode(节点,即包含在尖括号里面的内容)和TiXmlAttribute(属性)

TiXmlText                Xml文件节点的文本内容。也可以理解为其就是节点的一部分

TiXmlComment    Xml文件中的注释

TiXmlAttribute       Xml文件中节点的属性

TiXmlBase            上面这些类的父类

使用TinyXml,首先搭建环境。两种方式,可以直接把cpp和h文件一起放到工程里面来。还有一种方式就是编一个库。不过在编译的时候会报错。找到报错的位置。注掉即可。

用第二种方式我遇到了问题,就是在一个工程中使用正常,但是把这个库放到另外一个工程里面,运行的时候程序会崩溃。在网上搜了很久,类似的问题貌似没有人提及过。可能大家很多都用的第一种方式。所以此处的问题我也暂时挂起没有处理。

Xml文件的创建很简单,只要调用两个函数即可。LinkEndChild和SetAttribute。不过此处对于我这样的菜鸟,犯了很大一个错误。每次new一个元素以后,插入结束后会习惯性的delete掉。这样看似没有错,但是其实大错特错。Xml文件时树形的结构。我们可以选取其中一个分支将其理解为链表,向链表里面插入一个节点,肯定是不能够删除的,可惜直到出错了我才有这种体会。当然我们也可以去源码里面看看,因为是类与类之前是继承关系,还有包含关系,所以我们只要在创建Xml文件结束时delete掉TiXmlDocument就行了。

当然通过这几天的学习,心里也有些一些疑惑,就是我们能不能通过TinyXml来封装一个自己的类,可以实现任何结构的Xml文件的读写。我思考的结果是不可以,除非我们可以保证里面的每一个节点都是不同的名字。否则不可以。不知道有没有哪位大神有过类似的思考,也希望您能够指点我一二。提前谢谢了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值