Qt XML文件读、写、修改

这篇具有很好参考价值的文章主要介绍了Qt XML文件读、写、修改。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 XML写入

1.1 使用的库

#include "qdom.h"  

1.2 主体语句

头部创建:

    //创建xml文件头部
    QDomDocument doc;
    QDomProcessingInstruction instruction;   //添加处理命令
    instruction = doc.createProcessingInstruction("xml","version\"1.0\" encoding=\"UTF-8\"");
    doc.appendChild(instruction);
    QDomElement root = doc.createElement("颜色矫正参数");  //根节点
    doc.appendChild(root);

内容创建:

//color值写入
    QString color =ui->color_edit->text();
    QDomElement XMLColor = doc.createElement("Color");
    QDomElement sub_title = doc.createElement("color_1");
    QDomText text; //括号标签中间的值
    text = doc.createTextNode(color);    //创建文本节点
    XMLColor.appendChild(sub_title);   //父子结构构建
    sub_title.appendChild(text);
    root.appendChild(XMLColor);

1.3 详细例子说明

.h文件
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui {
    class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
   
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void on_pushButton_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

.cpp文件文章来源地址https://www.toymoban.com/news/detail-511982.html

#include "widget.h"
#include "ui_widget.h"
#include "QFile"
#include "QMessageBox"
#include "qdom.h"       //在pro文件中加入QT +=xml  
#include "QDebug"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
   
    ui->setupUi(this);
    setWindowTitle("颜色矫正参数更改");
}

Widget::~Widget()
{
   
    delete ui;
}


void Widget::on_pushButton_clicked()
{
   
    QString fileName = QCoreApplication::applicationDirPath() + "/data.xml";
    qDebug()<<"path:"<<fileName;
    QFile file(fileName);
    if(!file.open(QFile::WriteOnly|QFile::Truncate))  //重写方式打开
    {
   
        QMessageBox::information(this,tr("错误"),tr("data文件写入失败"));
        return;
    }

    //创建xml文件头部
    QDomDocument doc;
    QDomProcessingInstruction instruction;   //添加处理命令
    instruction = doc.createProcessingInstruction("xml","version\"1.0\" encoding=\"UTF-8\"");
    doc.appendChild(instruction);
    QDomElement root = doc.createElement("颜色矫正参数");  //根节点
    doc.appendChild(root);

    //color值写入
    QString color =ui->color_edit->text();
    QDomElement XMLColor = doc.createElement("Color");
    QDomElement sub_title = doc.createElement("color_1");
    QDomText text; //括号标签中间的值
    text = doc.createTextNode(color);
    XMLColor.appendChild(sub_title);
    sub_title.appendChild(text);
    root.appendChild(XMLColor);

    //RGB值写入
    QString R_value =ui->R_edit->text();
    QString G_value =ui->G_edit->text();
    QString B_value =ui->B_edit->text();
    QDomElement XMLRGB = doc.createElement("RGB");

    QDomElement RGB_title = doc.createElement("R");
    QDomText RGB_text; //括号标签中间的值
    RGB_text = doc.createTextNode(R_value);
    XMLRGB.appendChild(RGB_title);
    RGB_title.appendChild(RGB_text);
    root.appendChild(XMLRGB);

    RGB_title = doc.createElement("G");
    RGB_text = doc.createTextNode(G_value);
    XMLRGB.appendChild(RGB_title);
    RGB_title.appendChild(RGB_text);
    root.appendChild(XMLRGB);

    RGB_title = doc.createElement("B");
    RGB_text = doc.createTextNode(B_value);
    XMLRGB.appendChild(

到了这里,关于Qt XML文件读、写、修改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Java]_[初级]_[使用SAX流的方式写入XML文件]

    文件的写入目前没有发现可以增量写入的,只能是完全重新写入。对于大量数据需要写入 XML 文件,还是和读 XML 文件一样,不需要生成 DOM 模型能节省不少的内存和指令。 在 java 标准库里,也是有相关的SAX类来写入数据流, StreamResult(OutputStream) 负责把数据写入输出流。 之后

    2024年02月10日
    浏览(54)
  • MyBatis XML 映射文件中的 SQL 语句可以分为动态语句和静态语句

    目录 静态查询: 动态查询: 静态更新: 动态更新: 静态删除: 动态删除: 动态语句和静态语句在 MyBatis 中的作用如下: 静态查询: 静态查询是指在 SQL 语句中执行固定的查询操作,查询的条件和内容是预先确定的,不会随着用户输入或其他条件的改变而改变。以下是一

    2024年01月18日
    浏览(66)
  • 07_ansible, 条件选择、加载客户事件、在roles和includes上面应用’when’语句、条件导入、基于变量选择文件和模版、注册变量

    10.条件选择 10.1.When语句 10.2.加载客户事件 10.3.在roles和includes上面应用’when’语句 10.4.条件导入 10.5.基于变量选择文件和模版 10.6.注册变量 转自:http://www.ansible.com.cn/docs/playbooks_conditionals.html#id3 常常来说,一个play的结果经常取决于一个变量的值,事件(从远端系统得到事件)

    2024年02月13日
    浏览(43)
  • C++文件操作实战:创建、写入、读取、修改文件一应俱全

      概述: 此C++示例详解文件操作:创建、删除、判断存在、写入、读取和修改文件内容。清晰演示了常见文件处理方法及源代码实现。 以下是一个简单的C++实例,演示如何进行文件操作,包括创建文件、删除文件、判断文件是否存在、向文件写入内容、读取文件内容以及修

    2024年03月17日
    浏览(49)
  • maven中JDK版本的修改,setting.xml修改以及pom.xml的文件修改

    修改已经建好的maven的JDK的版本,在父模块中修改JDK的信息 在这里先看一下本地的配置,我这里先设置的17版本 出现这种情况的解决办法 先修改根目录的setting.xml文件,将里边的JDK版本全部换为1.8,然后保存即可。将17全部换为1.8 setting.xml的路径为:D:mavenconf(这是我安装的

    2024年02月16日
    浏览(44)
  • qt学习:json数据文件读取写入

    目录 什么是json 基本格式 例子  解析json文件数据到界面上 组合json数据文档对象 json是一种轻量级的数据交互格式,简单来说,json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互 以键值对的形式存放 键-----字符串 值------基本数据类型,字

    2024年01月24日
    浏览(41)
  • Python将数据写入json文件,并修改或更新json文件

    前言 本文是该专栏的第19篇,后面会持续分享python的各种干货知识,值得关注。 假设工作上,需要将目标数据写入到json文件。之后,会需要将目标数据的某些字段进行更新或者更改操作,需要怎么操作呢? 再或者,在接口中提供该json文件,让别人提供参数请求该接口,进行

    2024年02月04日
    浏览(35)
  • QT解析xml文件

    mainwindow.cpp  mainwindow.h

    2024年02月14日
    浏览(34)
  • qt读写xml文件

    Qt使用XML模块,在.pro文件中添加 QT += xml Qt 提供了三种读 写  XML 文档的方法: QXmlStreamReader / QXmlStreamWriter: 一种快速的基于流的方式访问良格式 XML 文档 , 特别适合于实现一次解析器(所谓“一次解析器”,可以理解成我们只需读取文档一次,然后像一个遍历器从头到尾一

    2024年02月11日
    浏览(39)
  • uniapp iosApp H5+本地文件操作(写入修改删除等)

    h5+ 地址 html5plus 以csv文件为例,写入读取保存修改删除文件内容,传输文件等 1.save 文件保存 2. read 读取 3. delete 删除目录 4.upload 上传(uniapp)循环上传目录内文件

    2024年02月07日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包