当前位置: 首页 > news >正文

企业手机网站建设鄂州第一网官网

企业手机网站建设,鄂州第一网官网,网站建设与维护教学视频教程,静海做网站公司QT之xml文件的读写 简介用法举例 简介 QT的QDomDocument、QDomElement、QDomNode是Qt XML模块中的三个类,用于解析和操作XML文档。 1)QDomDocument类: QDomDocument类表示整个XML文档。它提供了解析XML文档的方法,如setContent(…

QT之xml文件的读写

    • 简介
    • 用法举例

简介

QT的QDomDocument、QDomElement、QDomNode是Qt XML模块中的三个类,用于解析和操作XML文档。

1)QDomDocument类:
QDomDocument类表示整个XML文档。它提供了解析XML文档的方法,如setContent()和setContent(),以及生成XML文档的方法,如toByteArray()和toString()。
QDomDocument类还包括一些常用的操作,如创建新元素(createElement())、创建新文本节点(createTextNode())和创建新注释(createComment())。

2. QDomElement类:
QDomElement类表示XML文档中的一个元素。它提供了获取和设置元素名称(tagName()和setTagName())、获取和设置元素属性(attribute()和setAttribute())以及获取和设置元素文本内容(text()和setText())的方法。

QDomElement类还包括一些用于遍历和操作子元素的方法,如firstChildElement()、lastChildElement()、nextElementSibling()和previousElementSibling()。这些方法可以方便地遍历元素的子元素和兄弟元素。

3. QDomNode类:
QDomNode类表示XML文档中的一个节点,可以是元素、文本节点或注释等。它提供了一些基本的方法,如获取节点类型(nodeType())、获取节点名称(nodeName())和获取节点值(nodeValue())。

QDomNode类还包括一些用于遍历节点的方法,如firstChild()、lastChild()、nextSibling()和previousSibling()。这些方法可以方便地遍历节点的子节点和兄弟节点。

用法举例

首先,我们假设有一个名为"example.xml"的XML文件,其内容如下:

<?xml version="1.0" encoding="UTF-8"?>  
<data>  <name>John Doe</name>  <age>30</age>  <email>johndoe@example.com</email>  
</data>

1)读取XML文件:

#include <QCoreApplication>  
#include <QFile>  
#include <QDomDocument>  
#include <QDomElement>  
#include <QDebug>  int main(int argc, char *argv[])  
{  QCoreApplication a(argc, argv);  QString fileName = "example.xml";  QFile file(fileName);  if (!file.open(QIODevice::ReadOnly)) {  qDebug() << "Failed to open file:" << fileName;  return -1;  }  QDomDocument doc;  if (!doc.setContent(&file)) {  qDebug() << "Failed to parse XML file:" << fileName;  file.close();  return -1;  }  file.close();  QDomElement root = doc.documentElement();  QDomNode n = root.firstChild();  while (!n.isNull()) {  QDomElement e = n.toElement();  if (!e.isNull()) {  qDebug() << e.tagName() << ":" << e.text();  }  n = n.nextSibling(); // 获取下一个子节点  }  return 0;  
}

2)写入XML文件:

#include <QCoreApplication>  
#include <QFile>  
#include <QDomDocument>  
#include <QDomElement>  
#include <QTextStream>  
#include <QDebug>  int main(int argc, char *argv[])  
{  QCoreApplication a(argc, argv);  QString fileName = "output.xml";  QDomDocument doc;  QDomElement root = doc.createElement("data");  doc.appendChild(root);  QDomElement nameElement = doc.createElement("name");  nameElement.appendChild(doc.createTextNode("John Doe"));  root.appendChild(nameElement);  QDomElement ageElement = doc.createElement("age");  ageElement.appendChild(doc.createTextNode("30"));  root.appendChild(ageElement);  QDomElement emailElement = doc.createElement("email");  emailElement.appendChild(doc.createTextNode("johndoe@example.com"));  root.appendChild(emailElement);  QFile file(fileName);  if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {  qDebug() << "Failed to open file:" << fileName;  return -1;  }  QTextStream stream(&file);  doc.save(stream, 4); // 设置缩进为4个空格  file.close();  return 0;  
}
http://www.yayakq.cn/news/744633/

相关文章:

  • 福建省网站建设公司app 游戏网站建设
  • 注册公司上什么网站工程造价专业建设规划
  • 郑州网站建设zzjisuxuzhou网站制作
  • 上海网站建设服务市价window2008r2网站建设
  • 江苏设计网站电话网站建设帮助中心
  • 做教育门户网站法律风险网站制作的预算
  • 网站建设工作总结6南京移动网站建设
  • 建站类平台排行榜哈尔滨网站备案地址
  • 廊坊seo排名优化网站敬请期待同义词
  • 帮别人做网站如何备案太原cms建站模板
  • 优惠网站如何做原始传奇经典复古
  • 做网站维护工商经营范围是什么保定市做网站
  • 网站域名备案在阿里云怎么做秦皇岛市网站建设
  • 文山专业网站建设公司教育培训平台
  • 做蛋糕视频的网站迅当网络深圳外贸网站建设
  • 莱芜信息港官网wordpress语言切换 seo
  • wordpress图书页面flash网站做seo优化好不好
  • 文化产业协会网站源码购物网站开发需求分析
  • 云南建网站牛人网络网站
  • 网站标题上的小图标怎么做资源网站如何做
  • 网站集约建设巴中市城乡和住房建设局网站
  • 网站怎么做文本跳出来网站建设zrhskj
  • 微信放在网站根目录杭州平面设计
  • 买了域名和空间怎么做网站网站开发的职业分析
  • 广州做网站平台网站建设毕业答辩ppt怎么写
  • 网站设计模板免费下载免费网址2021年能用的
  • 怎么查网站是否被k品牌网鞋有哪些牌子
  • 构建企业网站中国电力建设集团股份有限公司网站
  • 免费网站去哪找产品画册设计怎么做
  • 傻瓜式网站开发工具施工企业安全管理制度