QT生成XML(QXmlStreamWriter或DOM)

2023-11-05

话不多说,直接而看代码,效果可以自己运行看看.记得在Pro文件里加上xml模块.

方式一 QXmlStreamWriter

    QString sXml;//存储生成的XML
    QXmlStreamWriter xswWriter(&sXml);
    xswWriter.setAutoFormatting(true);
    xswWriter.writeStartDocument("1.0",true);
    //根节点开始
    xswWriter.writeStartElement("message");
    //子节点1开始
    xswWriter.writeStartElement("head");//创建标签名字
    xswWriter.writeAttribute("packtype","21");//创建属性名字及属性值
    xswWriter.writeAttribute("sessionid","31");
    xswWriter.writeAttribute("fromip","192.168.84.244");
    xswWriter.writeAttribute("toip","");
    xswWriter.writeEndElement();//结束子节点1
    //子节点2开始
    xswWriter.writeStartElement("body");
    xswWriter.writeAttribute("cmdid","B002");
    xswWriter.writeAttribute("errorcode","");
    xswWriter.writeAttribute("errormsg","");
    xswWriter.writeEndElement();//结束子节点2
    //结束根节点
    xswWriter.writeEndElement();
    //结束文档
    xswWriter.writeEndDocument();
    return sXml;

方式二 DOM

    QString sXmlSrc;//存储生成的xml

    QDomDocument dDoc;
    QString sHeader("version=\"1.0\" encoding=\"UTF-8\"");
    dDoc.appendChild(dDoc.createProcessingInstruction("xml", sHeader));//生成说明
    //生成根节点
    QDomElement sRootElement = dDoc.createElement("message");
    dDoc.appendChild(sRootElement);
    //生成head标签
    QDomElement deHeadElement = dDoc.createElement( "head" );
    deHeadElement.setAttribute("packtype", "21");
    deHeadElement.setAttribute("sessionid","31");
    deHeadElement.setAttribute("fromip", "192.168.84.244");
    deHeadElement.setAttribute("toip","");
    sRootElement.appendChild(deHeadElement);
    //生成body标签
    QDomElement deBodyElement = dDoc.createElement( "body" );
    deBodyElement.setAttribute("cmdid","");
    deBodyElement.setAttribute("stbip","");
    sRootElement.appendChild(deBodyElement);

    QTextStream tsOut(&sXmlSrc);
    dDoc.save(tsOut,4);
    return sXmlSrc;

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

QT生成XML(QXmlStreamWriter或DOM) 的相关文章

  • 删除Android所有语言中的字符串

    我有一个包含多个翻译的应用程序 我想删除一些字符串 我怎样才能重构并删除它们一次 例如在默认情况下strings xml文件并自动将删除传播到其他翻译的其他 strings xml 文件 您可以通过 Android Studio 中的 翻译
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • 如何在Android中解析xml类型的HTTPResponse

    我有一个 Android 应用程序 我使用 POST 方法来获取响应 这是我的代码 HttpResponse httpResponse httpclient execute httppost HttpEntity resEntity htt
  • 使用 Jackson 使用不带注释的属性来序列化 xml

    我目前正在使用 Jackson 编写一些代码 将遗留 POJO 序列化为 XML 但我需要使用属性而不是子元素来序列化它们 有没有办法使用 Jackson 来做到这一点 而不需要向遗留类添加注释 有没有办法使用 Jackson 来做到这一点
  • 使用 XML 和 C# 创建 Word 文档

    我已经为报告创建了一个 xml 模板 用户应该能够通过我用 C 创建的程序添加信息以根据自己的需要个性化此报告 如何根据用户输入文本框的内容编辑实体的内容 然后将其显示在 Word 上 网上有大量有关使用 XML 和 C 创建 Word 文
  • 如何在 QtQuick 2 中对 QML TableView 进行排序?

    我想使用 Qt 5 1 实现具有自定义角色的可排序 TableView 但我不知道当用户单击标题时该怎么做才能对其进行排序 在我的 Qt pro 文件中 我添加了 android ios blackberry qtHaveModule wi
  • 在高 dpi Windows 平台上自动重新缩放应用程序?

    我正在编写一个需要在高 dpi Windows 192dpi 而不是 96dpi 上运行的 Qt 应用程序 不幸的是 Qt 框架尚不支持高 dpi 至少在 Windows 上 因此我的应用程序及其所有元素看起来只有应有尺寸的一半 有没有办法
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • 如何使用C#在asp.net中下载xml文件

    我正在使用网络应用程序ASP NET 与 MVC3 我是 mvc3 的新手 我的网页上有一个下载按钮 当我要单击下载按钮时 我希望能够打开该 XML 文件 我尝试过一些代码更改动作结果但我没有打开文件 通过使用下面提到的代码 我收到一个下载
  • dbms_xmlgen.getxml - 如何设置日期格式

    我们使用 dbms xmlgen getxml 实用程序通过 SQL 查询生成 xml 该查询从几乎 10 15 个相关表中获取数据 默认情况下 日期格式生成于dd MMM yy格式 有什么方法可以在 dbms xmlgen getxml
  • 如何向同一个 QMenu 添加多个 QAction?

    我正在尝试实现 Qt 菜单自定义 并且我提供了一个功能来添加相同的功能QAction在同一个人民币上下文菜单中多次 但是当我尝试这样做时 myMenu gt addAction myAction myMenu gt addAction my
  • JAXB 不会解组接口列表

    看来 JAXB 无法读取它所写的内容 考虑以下代码 interface IFoo void jump XmlRootElement class Bar implements IFoo XmlElement public String y p
  • Qt GUI 应用程序中的控制台输出?

    我有一个在 Windows 上运行的 Qt GUI 应用程序 它允许传递命令行选项 在某些情况下我想向控制台输出一条消息 然后退出 例如 int main int argc char argv QApplication a argc arg
  • Dispatcher-servlet 无法映射到 websocket 请求

    我正在开发一个以Spring为主要框架的Java web应用程序 特别使用Spring core Spring mvc Spring security Spring data Spring websocket 像这样在 Spring 上下文
  • JAXB - 列表<可序列化>?

    我使用 xjc 制作了一些课程 public class MyType XmlElementRefs XmlElementRef name MyInnerType type JAXBElement class required false
  • 增强 XML 解析复杂性 - c# XML 循环

    我正在编写自己的 C 自定义地图导航程序 我在用打开街道地图用于地图数据 它是一个包含节点和方法的大型 XML 文件 我编写了一个转换器 可以从 XML 文件中去除无用的垃圾 如时间戳 用户等 这样文件就会变得更小 现在 当我尝试循环 XM
  • 来自另一个类的 Qt C++ GUI 调用

    我通过 gui 拖放创建了一个按钮和一个文本浏览器 UI 以及单击按钮功能是在 mainwindow cpp 中创建的 有一个 main cpp 但这是无关紧要的 因为在单击开始按钮之前程序不会启动 include mainwindow h
  • 让用户渲染自己的 SVG 文件的安全隐患

    我计划让网站用户上传他们自己的 SVG 文档并使用inkscape or svg2pdf 用户要么未经身份验证 要么经历一个简单的注册过程 所以我预计会有一些黑客尝试 我可以采取哪些过滤措施来最大程度地减少安全威胁 Inkscape 似乎并
  • 如何在qt中创建正确的退出按钮

    我正在尝试创建一个退出按钮来正确关闭我在 QT 中制作的 GUI 我尝试通过以下方式执行此操作 include
  • 使用 saxon xquery 从 xml 中删除元素

    嗨 我有一个像这样的 xml

随机推荐

  • 【测验1 编程题】: Python基本语法元素 (第1周)

    第一题 Hello World的条件输出 描述 获得用户输入的一个整数 参考该整数值 打印输出 Hello World 要求 如果输入值是0 直接输出 Hello World 如果输入值大于0 以两个字符一行方式输出 Hello World
  • sql server中bit类型在数据库和C#中的表示

    select count 1 from select ROW NUMBER over order by MinuteID as RowId from OA Minutes WHERE 1 1 and DelFlag false as tem
  • BLE 和 Zigbee 肉眼读数(更新ing)

    BLE1M 画相位图 可以读出preamble 01010101 同步码 01101011 通过向下向上的轨迹来肉眼读 原理是需要看如何进行调制的 toolbox中是GMSK调制 所以反着推回去 就知道画相位图能直接肉眼读数了 同理Zigb
  • JTest

    jtest解释 第一章 简介 jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具 它通过自动实现java的单元测试和代码标准校验 来提高代码的可靠性 Jtest先分析每个java类 然后自动生成junit测试用例
  • 论文精读:FairMOT: On the Fairness of Detection and Re-Identification in MultipleObject Tracking

    1 提出背景 以往的工作通常将re ID视为次要任务 其准确性受到主要检测任务的严重影响 因此 网络偏向于主检测任务 这对re ID任务不公平 2 核心思想 将MOT表示为单个网络中目标检测和reid的多任务学习 因为它允许两个任务的联合优
  • Ubuntu18.04 搭建Hadoop完全分布式环境--踩坑局

    安装Ubuntu18 04 暂时无坑 跟着CSDN教程 坑一 su root 无法切换root用户 提示 Authentication failure 填坑 sudo psswrd 然后当前用户密码 然后输入 root密码 确认 root
  • Linux环境下,通过shell脚本实现一键部署MySQL,并支持多种类型

    Linux环境下一键部署MySQL脚本 支持多种类型 前言 一 使用前须知 二 使用方法 三 shell脚本内容 总结 前言 MySQL是目前最流行的关系型数据库管理系统之一 属于 Oracle 旗下产品 由于它是开源软件 因此很多企业在
  • 业界AI 推理芯片比较

    业界AI 推理芯片比较 公司 创立时间 地点 产品 架构 算力 特色 瀚博半导体 2018年12月 上海 SV02 DSA 200TOPS 手机 12 导管 1
  • 普源示波器 电脑 连接 软件_乐高wedo2.0电脑软件安装及蓝牙连接方法

    先上一段官方视频 wedo2 0的软件下载方法如下 1 ipad端 直接去苹果应用商店下载 2 安卓端 先下载应用宝 再从应用宝里搜索wedo2 0下载安装 3 PC端 https education lego com zh cn down
  • Android:rk3588 kernel单编

    Android12 0不能直接烧写kernel img和resource img Android12 0的kernel img和resource img包含在boot img中 需要使用build sh AK 命令来编译 kernel 编译
  • 【问题解决】Java下载远程服务器资源到本地,本地提供下载服务,解决中文乱码问题

    Java下载远程服务器资源到本地 本地提供下载服务 1 通过远程访问远程URL获取服务资源 从指定URL下载文件并保存到指定目录 param filePath 文件将要保存的目录 param method 请求方法 包括POST和GET p
  • 计算机视觉OpenCV(四):图像梯度处理和边缘检测

    目录 图像梯度处理 1 Sobel算子 2 Scharr算子 3 Laplacian算子 4 不同算子的比较 Canny边缘检测 图像梯度处理 1 Sobel算子 dst cv2 Sobel src ddepth dx dy ksize d
  • windows7 64位机上安装配置CUDA7.5(或8.0)+cudnn5.0操作步骤

    按照官网文档 http docs nvidia com cuda cuda installation guide microsoft windows index html axzz4TpI4c8vf 进行安装 在windows7上安装cud
  • Python中自定义异常

    Python中也有关于异常的处理 导入日志模块 import logging sys 导入logging模块 logger logging getLogger 异常 创建一个logger实例 filehadler logging FileH
  • Spring Security 强制退出指定用户

    应用场景 最近社区总有人发文章带上小广告 严重影响社区氛围 好气 对于这种类型的用户 就该永久拉黑 社区的安全框架使用了 spring security 和 spring session 登录状态 30 天有效 session 信息是存在
  • 聚观早报

    今日要闻 ChatGPT 停止 Plus 付费 李子柒油管广告收益登顶热搜 亚马逊游戏部门百名员工被裁 国内一公司推出太空葬 苹果将在印度国金融中心开设零售店 ChatGPT 停止 Plus 付费 4 月 5 日消息 ChatGPT 目前已
  • 景安服务器可以用小程序吗,原来这些平台都有小程序,你全都用过吗?

    原标题 原来这些平台都有小程序 你全都用过吗 11大平台入局 小程序日活超4 4亿 陶风互联觉得 小程序用数据证明了自己的繁荣与能力 近日 小程序SaaS服务商 即速应用发布的 即速应用2020小程序年中研究分析报告 让我们再窥小程序对于互
  • Java与MySQL时间不一致问题

    文章目录 一 问题情况描述 二 CST时区混乱 1 CST有四种含义 2 什么是时区 三 绝对时间与本地时间 1 绝对时间 2 本地时间 3 时区偏移量 四 MySQL服务端时区 1 system time zone 系统时区 2 time
  • 电路设计中的磁珠作用及如何进行取值!!!!!

    PS 先品尝一下小菜 关于磁珠的使用描述不正确的是 A 磁珠的阻抗频率特性曲线 转换点频率以下 以磁珠体现电阻性 转换点所在频率以上 磁珠体现电感性 电感性的作用是反射噪声 电阻性的作用是吸收噪声并转换成热能 B 磁珠的选择应满足电路噪声的
  • QT生成XML(QXmlStreamWriter或DOM)

    话不多说 直接而看代码 效果可以自己运行看看 记得在Pro文件里加上xml模块 方式一 QXmlStreamWriter QString sXml 存储生成的XML QXmlStreamWriter xswWriter sXml xswWr