QT(XML读写)配置读写工具开发

应用的xml配置越来越多,导致配置越来越麻烦,配置之间不断耦合关联,一个忘记改动就是一个bug建过来,真的吃不消。有些修改xml属于机械化的逻辑计算加上操作。于是做一个小工具进行配置的管理,快速计算完成一些配置项的修改。于是封装了 qt的xml的读写接口和文件访问接口,方便调用,搭好框架之后后面基本也就是逻辑和其他文件的修改等。

github代码如下,是一个打开指定文件,扫描所有xml文件,指定文件名,元素路径,属性,即可进行修改xml配置,组合上自己的逻辑,即可轻松完成一些死板的机械化配置。(剥离了业务相关的代码)
        https://github.com/JetLinWork/qt_xml_in_dir

使用方法

源文件:  config_proc.cpp / config_proc.h

1. 将源码加入工程,包含头文件config_proc.h,QT工程文件 *.pro增加xml库链接QT += xml,

2. 调用类  ConfigProc;具体参见 mainwindow.cpp/mainwindow.h  具体调用功能参见头文件

3. 读写文件的编码是GB2312 需求要改成其他格式,修改config_proc.h中的 char encode[] = "GB2312";即可。

4. 实现了xml元素的增删改查,路径用 / 分隔,例如下图。

打包

windows:
安装 Qt Creator->生成 exe 可执行文件 -> 拷贝exe到其他文件 -> 执行windeployqt 打包需要的动态库 -> 使用 enigma_Virtual_Box pack 打包成一个可执行文件 / 带文件夹发布
linux:
安装 Qt Creator->生成 可执行文件 -> 拷贝可执行文件到其他文件夹 -> 执行linuxdeployqt 打包需要的动态库 ->打包dep/rpm安装包 / 带文件夹发布

 

效果:以下是部分功能完成界面

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个关于 Qt 的问题。QDomDocument 是 Qt 中用于读写 XML 文件的类。其主要功能是将 XML 文件解析成 DOM 树表示,从而可以方便地进行修改、查询和输出操作。 在 Qt 中使用 QDomDocument 读写 XML 文件的步骤如下: 1. 创建 QDomDocument 对象,并设置 XML 文件的版本、编码和根节点。 2. 通过 QDomDocument 对象的 createElement() 方法创建节点,并通过 appendChild() 方法将其添加到 DOM 树中。 3. 通过 QDomDocument 对象的 createTextNode() 方法创建文本节点,并通过 appendChild() 方法将其添加到 DOM 树中。 4. 通过 QDomDocument 对象的 toByteArray() 方法将 DOM 树输出到字节数组中,或通过 save() 方法将 DOM 树保存XML 文件中。 以下是一个简单的示例代码,演示了如何使用 QDomDocument 读写 XML 文件: ```cpp #include <QFile> #include <QDomDocument> int main() { // 创建 QDomDocument 对象 QDomDocument doc; // 设置 XML 文件的版本和编码 doc.appendChild(doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\"")); // 创建根节点 QDomElement root = doc.createElement("root"); doc.appendChild(root); // 创建子节点 QDomElement child = doc.createElement("child"); root.appendChild(child); // 创建文本节点 QDomText text = doc.createTextNode("Hello, world!"); child.appendChild(text); // 将 DOM 树输出到字节数组中 QByteArray xml = doc.toByteArray(); // 将 DOM 树保存XML 文件中 QFile file("test.xml"); if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream out(&file); out << doc.toString(); file.close(); } return 0; } ``` 这段代码创建了一个名为 test.xmlXML 文件,其内容为: ```xml <?xml version="1.0" encoding="UTF-8"?> <root> <child>Hello, world!</child> </root> ``` 希望这个示例代码可以帮助你了解如何使用 QDomDocument 在 Qt读写 XML 文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值