pugixml使用笔记

2023-05-16

https://pugixml.org/docs/manual.html#dom.tree pugixml官方使用手册

1.创建xml文件信息

例如:

    pugi::xml_document xmldoc;
    {
        pugi::xml_node decl = xmldoc.append_child(pugi::node_declaration);
        decl.append_attribute("version") = "1.0";
        decl.append_attribute("encoding") = "UTF-8";
    }

    {/*add ExperimentDesignScheme*/

        pugi::xml_node root_Node = xmldoc.append_child("Test");

        pugi::xml_node nodeInfo = root_Node.append_child("Tool");
        {
            pugi::xml_node Name = nodeInfo.append_child("Name");
           Name.text().set(“测试”);


            pugi::xml_node Time = nodeInfo.append_child("Time");
            QDateTime time = m_info.time;
            QString strBuffer = time.toString("yyyy-MM-dd hh:mm:ss");
            Time.text().set(strBuffer.toStdString().c_str());

            pugi::xml_node File = nodeInfo.append_child("File");
            File.text().set(m_info.file.toStdString().c_str());

            pugi::xml_node Purpose = nodeSchemeInfo.append_child("Purpose");
            Purpose.text().set(m_doeinfo.doepurpose.toStdString().c_str());
        }


    }

   xmldoc.save_file(savePath.toStdWString().c_str(), "\t", 1U, pugi::encoding_utf8);

 

2.读取文件信息

   //读取想定文件
   result = doc.load_file(m_info.filepath.toStdWString().c_str());
   if (!result)
       return -1;

   //使用节点名获取节点句柄
   pugi::xml_node  tools = doc.child("Test").child("Tool");

   for (pugi::xml_node tool = tools.first_child(); tool ; tool = tool .next_sibling())  //遍历节点下有几个子节点
   {
        QString Name= tool .attribute("Name").value(); //名字
        QString Time= tool .attribute("Time").value(); //时间
        QString File= tool .attribute("File").value(); //文件

   }

3.删除节点

      result = doc.load_file(m_info.filepath.toStdWString().c_str());

      pugi::xml_node root_Node = doc.child("Test").child("Tool");

        //删除之前的因子水平节点
        root_Node.remove_child("Name");
        root_Node.remove_child("Time");
4.保存文件

doc.save_file("文件路径+文件名", "\t", 1U, pugi::encoding_utf8);这里的doc是pugi::xml_document对象和读取文件时候的doc一样

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pugixml使用笔记 的相关文章

  • pandas使用笔记

    DataFrame使用笔记 dates 61 pd date range span class hljs string 39 20160728 39 span periods 61 span class hljs number 6 span
  • vimdiff 使用笔记

    vimdiff 是建立在 diff 命令之上的 启动方法 xff1a vimdiff file left file right 或者 vim d file left file right 只在某一文件中存在的行的背景色被设置为蓝色 xff0
  • Libsvm使用笔记【matlab】

    根据以下教程配置 xff1a 1038条消息 LIBSVM 繁拾简忆的博客 CSDN博客 https blog csdn net u014772862 category 6280683 html 目录 xff1a 一 libsvm使用 二
  • netperf使用笔记

    一 netperf是什么 netperf是一个基于client server模式的网络测试工具 xff0c 可以测量TCP和UDP传输的吞吐量 时延 CPU占用率等性能参数 它可以测试以下几种模式的TCP核UDP网络性能 xff1a TCP
  • MacBook M12020使用笔记

    1 安装软件 1 1 安装brew 安装brew xff08 知乎高手写的脚本 xff0c 可以选择国内镜像源 xff09 bin zsh c span class token string 34 span class token vari
  • Visual Studio Code使用笔记

    文章目录 简介安装常用功能杂文件对比 常用插件通用快捷键文件头注释 C C 43 43 PythonLaTexMarkdown 其它C C 43 43 多文件编译运行代码运行 简介 与Sublime Text相比 xff0c vscode免
  • Protobuf3 使用笔记

    一 和protobuf2比 xff0c 更新的内容 xff1a 1 字段前取消了required和optional两个关键字 xff0c 目前可用的只有repeated关键字 2 不可以现设置默认值了 a string默认为空串 b 枚举默
  • stlink使用笔记

    1 stlink灯一直闪 2 当用外部电源 xff08 外部 就是不直接使用stlink为板子供电 xff09 为板子供电时 xff0c 如果要用stlink xff08 SWD模式 xff09 xff0c 那么不能只插SWCLK和SWDI
  • kalibr使用笔记

    官网 GitHub ethz asl kalibr The Kalibr visual inertial calibration toolbox The Kalibr visual inertial calibration toolbox
  • Jenkins使用笔记

    本章简单记录Jenkins的使用笔记 首先 xff0c 我们从官网中下载安装介质 xff0c 可以看到这里有适合各种操作系统版本的安装源介质 xff0c 简单起见 xff0c 我们直接下载一个通用的war程序包 执行命令java jar j
  • pandas使用笔记

    DataFrame使用笔记 dates 61 pd date range span class hljs string 39 20160728 39 span periods 61 span class hljs number 6 span
  • mysql使用笔记

    创建数据库 create database database name 删除数据库 drop database database name 创建表 span class token comment 最简单的语法 span span clas
  • UCOSII 使用笔记

    UCOS使用总结 1 UCOS 是抢占式系统 xff0c 换句话来说 xff0c 优先级高的能够被准时执行 xff0c 优先级低的很容易被高优先级抢占 xff0c 导致执行任务延迟 2 UCOS一般为64个优先级 xff0c 有些可以到25
  • Git:使用笔记

    git局部配置 git config user name 34 username 34 git config user email 34 email 34 git带用户密码clone git clone https username pas
  • RTK使用笔记-千寻CORS模式

    一 千寻CORS模式 与基站 43 接收机1对1相比 xff0c 优点为携带方便 xff0c 也不用考虑10公里移动基站问题 xff1b 缺点为第一千寻CORS模式有自己基站涵盖范围 xff0c 所以需要提前确定好范围 xff08 下文有介
  • 整理windows terminal使用笔记

    github xff1a https github com microsoft terminal 之前这篇文章写了windows中powershell的美化 xff0c 过程中安装了windows terminal 这里记录windows
  • 整理ps使用笔记

    尽管使用ps只需要记住常用命令 xff1a ps aux ps ef 并且理解输出的列含义即可 但不理解命令的含义 xff0c 用起来总有种空虚感 下面研究一下 文章目录 介绍BSD默认simpleaxT r listoutput 总结 介
  • pugixml使用笔记

    https pugixml org docs manual html dom tree pugixml官方使用手册 1 创建xml文件信息 例如 xff1a pugi xml document xmldoc pugi xml node de
  • error: Could NOT find pugixml (missing: PUGIXML_LIBRARIES PUGIXML_INCLUDE_DIRS)

    解决办法 xff1a sudo apt get install libpugixml dev sudo apt get install libpugixml1v5
  • 使用 pugixml 将现有 xml_node 附加到另一个节点

    如何追加现有的pugi xml node使用 pugixml 进入另一个 我知道的唯一功能是 pugi xml node node root append child child 您应该使用此处描述的克隆功能 http pugixml or

随机推荐