结论:rapidxml和pugixml在生成xml方面,我建议使用pugixml,优点很多,不用关心string的生命周期,像函数一样使用添加节点,属性,很方便;而且效率高,个人测试了下:生成300个xml文件,pugixml用时6s,rapidxml用时60+s,效率差了10倍
如果你工作必须使用rapidxml或者换起来麻烦,那么继续往下看,有关写xml需要注意的一些问题
rapidxml 下载:
在官网上下载即可,
http://rapidxml.sourceforge.net/
https://sourceforge.net/projects/rapidxml/
得到的压缩包里有文件如下:
这里补充下生成xml方面需要注意的问题:
1. 字符串的生命周期问题:每次添加节点,string需要使用rapidxml的内存申请函数
如果给节点赋值的是一个局部变量string或者char*,如果局部变量的生命周期,那么节点的值就会为空,建议使用rapidxml自带的方法来申请字符串内存,这样它的生命周期和节点的值必然是一致的了;
2. 节点包含中文的情况(这部分个人理解,如有不对,恳请斧正)
先说我们要写的xml文件如下:
如果你用的是,然后节点包含中文,这时候声明为:,那么生成的xml文件在浏览器里会报错,如下所示:
所以这里建议:如果你用的是,然后节点包含中文,使用这个声明;
当然最好的,是用,节点包含中文,就可以使用声明,不用担心编码解析问题
3. 节点写入int,float等类型的值
int, float,bool需要转换成char*字符串再写入节点,这里觉得使用不方便,不过还是提供下转换的函数如下,具体见下面代码里的函数
方式创建一个包含中文格式的xml文件
方式创建一个包含中文格式的xml文件
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/8293.html