当前位置:网站首页 > 技术博客 > 正文

xml如何生成



结论: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文件


                            

  • 上一篇: sql触发器有几种
  • 下一篇: 进程、线程
  • 版权声明


    相关文章:

  • sql触发器有几种2024-11-23 09:30:04
  • rsa算法加密和解密过程2024-11-23 09:30:04
  • ntp 同步2024-11-23 09:30:04
  • C语言基础知识点2024-11-23 09:30:04
  • 倒排索引原理和实现2024-11-23 09:30:04
  • 进程、线程2024-11-23 09:30:04
  • python3 文件2024-11-23 09:30:04
  • maven 依赖包打入lib2024-11-23 09:30:04
  • 移动端vue ui框架2024-11-23 09:30:04
  • vmware卸载不干净怎么办2024-11-23 09:30:04