QDomDocument的使用

Qt中使用QDomDocument读写XML文件 注意事项 1、在*.pro文件中添加 QT += xml; 2、xml文件中只能存在一个根节点,如果存在根节点的兄弟节点,则只能读取到第一个根节点的内容。 #include <QDomDocument> #include <QFile> #include <QTextStream> #include <QDebug> int main(in... 阅读详情

QDomDocument是QT所封装的类,用来操作XML文件。而xml在项目中的角色常常是用来存储一些配置数据,因此在大部分的项目中会用到两个功能:写XML文件和读取XML文件。具体情况见代码:

#include <QtCore/QCoreApplication>
#include <QDomDocument>
#include <QMap>
#include <QTextStream>
#include <QFile>
#include <iostream>
class CXMLTestData
{
public:
       CXMLTestData();
       CXMLTestData(int num);
       ~CXMLTestData();
       void OutTheData();
       bool          m_bXMLTestData;
       int         m_iTestNum;
       double      m_dChooseNum;
       QString              m_qsXMLDescripe;
       QMap<double , QString>   m_mapXMLData;
       
       bool          m_bFirstChild;
       double      m_dFirstChildChoose;
       QString     m_qsTextNode;
};
CXMLTestData::CXMLTestData()
{
       m_bXMLTestData       = true;
       m_iTestNum = 2226;
       m_dChooseNum = 7920;
       m_qsXMLDescripe = "XML Write Or Read Test!";
       m_mapXMLData[0] = "This is first data.";
       m_mapXMLData[1] = "This is second data.";
       m_mapXMLData[2] = "This is third data";
       m_bFirstChild = true;
       m_dFirstChildChoose = 9898;
       m_qsTextNode = "This is TestNode!";
}
CXMLTestData::CXMLTestData(int num)
{
       m_bXMLTestData = false;
       m_iTestNum = 0;
       m_dChooseNum = 0;
       m_bFirstChild = true;
       m_dFirstChildChoose = 0;
}
CXMLTestData::~CXMLTestData()
{
       
}
void CXMLTestData::OutTheData()
{
       std::cout<< "bXML_TestData = " << m_bXMLTestData << "\n"
              << "iTest_Num = " << m_iTestNum << "\n"
              << "dChoose_Num = " << m_dChooseNum << "\n"
              << "qsXML_Descripe = " << m_qsXMLDescripe.toStdString() << "\n"
              << "mapXMLData_index_0 = " << m_mapXMLData[0].toStdString() << "\n"
              << "mapXMLData_index_1 = " << m_mapXMLData[1].toStdString() 
QDomDocument读写XML文件 XML文件大家应该都很熟悉,与ini一样,xml也是常用的软件配置文件格式。 在读写一个xml文件之前, 首先要做的工作是设计好xml文件的结构。 XMLSpy这个工具在xml设计方面有显著的优势,本人使用的是XMLSpy  2015,可以上官网http://www.altova.com/download-trial.html下载,并申请试用版本的序列号。 设计完的结构如下: 设计完结 阅读详情

相关推荐

QT的QDomDocument类的使用

详细说明 QDomDocument类表示XML文档。 QDomDocument类代表整个XML文档。从概念上讲,它是文档树的根,并提供对文档数据的主要访问。 由于元素,文本节点,注释,处理指令等不能在文档上下文之外存在,因此文档类还包含创建这些对象所需的工厂功能。创建的节点对象具有ownerDocument()函数,该函数将它们与在其上下文中创建的文档相关联。最常使用的DOM类是QDomNode,QDomDocument,QDomElement和QDomText。 解析的XML在内部由对象树表示,可以使用各

希望我的博客,能帮上你解决学习中工作中所遇到的问题 3971

QT读写XML文件之DOM方式解析XML

一、DOM简介 1、DOM简介 DOM是Document Object Model的简写,即XML文档对象模型,是由W3C提出的一种处理XML文档的标准接口。DOM 一次性读入整个XML文档,在内存中构造为一棵树(DOM树)将XML文件表示成一棵树,便于随机访问其中的节点,但消耗内存相对多一些。能够在这棵树上进行导航,比如移动到下一节点或者返回上一节点,也可以对这棵树进行修改,或者是直接

小众的博客 2396

Qt中使用QDomDocument和QDomnode来读取xml

Qt中使用QDomDocument和QDomnode来读取xml 内容简介:一.对QDomDocument和QDomnode的理解QDom前缀的都是代表节点类型。所以有,QDomElement代表一个Element节点,而QDomText代表一个Text节点。QDomNode类可以存储任意类型的节点。如果想进一步处理一个节点,首先必须把它转化为正确的数据类型。QDomNode调用toElement()以把它转化成QDomElement,然后调用tagName()来获得元素的标签名称。如果节点不是Element类型,那么toElement()函数就返回一个空QDomElement对

Windows游戏多开检测实战:5种技术原理与破解方法详解(附C++代码)

本文深入解析了Windows游戏多开检测的5种核心技术原理,包括进程枚举、互斥体、信号量、窗口及文件映射检测,并详细探讨了对应的破解方法。通过分析这些基于进程和内核对象的攻防机制,为开发者与逆向爱好者提供了从底层理解Windows系统进程管理的实战视角,并附有核心C++代码示例。

weixin_29315091的博客 243

DeepSeek API调用太复杂?OneAPI一站式聚合解决方案

本文介绍了OneAPI如何作为一站式聚合解决方案,简化DeepSeek API的调用流程。通过统一接口、智能路由和模型映射等核心功能,OneAPI大幅降低了多API适配的复杂性,提升开发效率。文章还提供了详细的部署指南和高阶使用技巧,帮助开发者快速实现API聚合管理。

weixin_27215337的博客 381

【TIDB】TiDB认证考试PTCA 练习题 题库

TiDB认证考试PTCA 练习题 题库

DBA之路的博客 4720

【QT开发教程】使用Qt进行蓝牙低功耗(BLE)编程

蓝牙低功耗(BLE,Bluetooth Low Energy)技术广泛应用于现代设备中,例如智能手表、健身追踪器和物联网设备。Qt提供了一套完整的Bluetooth模块,使开发者可以轻松地在应用程序中实现BLE通信功能。本文将介绍如何在Qt中进行BLE编程,包括基本概念、使用方法以及一些实际的示例。

科技改变人类,技术成就未来 2869

【教程4>第1章>第11节】使用MATLAB快速产生批量verilog语句加快FPGA开发

...........如果手动写,那么就非常麻烦,这个时候,我们借助matlab,则可以快速生成上述类型的verilog程序,我们编写如下的MATLAB语句。\n");\n");end。

FPGA/MATLAB学习教程/源码/项目合作开发 1240

YOLOv8【第十章:多任务扩展深度篇·第19节】YOLOv8 与 DeepLabV3+ 对比——实时性与精度的权衡!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1万+

ARM6818嵌入式视频播放器:硬解加速与Framebuffer渲染实战

嵌入式Linux音视频系统是智能座舱、工业HMI等场景的核心能力,其本质是软硬协同的实时多媒体处理系统。原理上需打通内核驱动(如VPU硬件编解码、FIMD多图层合成)、用户空间框架(GStreamer pipeline定制、SDL2硬件渲染)与应用层同步机制(PTS/HTS双时钟校准)。技术价值在于显著降低CPU负载(硬解可压至15%以下)、提升启动速度(<1.2s首帧)并保障音画同步精度(±3ms级)。典型应用场景包括车载信息娱乐、边缘AI终端及无X11的工控显示设备。本文基于ARM6818平台,深入VP

weixin_32456485的博客 77

Freeswitch DTMF 按键无法接收问题修复

freeswitch 在接收到 update后,会更新成新的 payload type,但是给的200响应,仍然是旧的,这时候就会导致手机侧认识需要发送旧的payload,所以发到 fs 后就会导致直接丢包,不去处理RTP包了。呼叫时需要设置通道变量 rtp_manual_rtp_bugs=ACCEPT_ANY_PAYLOAD ,这时候FS 就不会对包的payload进行判断,直接判定通过。应该修复 freeswitch 给响应时,应该根据收到的 payload 发送给手机,但是一直未找到正确的路径。

2301_81507069的博客 373

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

下一篇: SOLID-设计模式六大原则
PandaCreater
博客等级 码龄6年 6粉丝 21原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值