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

点开图片跳到网站怎么做女孩子做运营是不是压力很大

点开图片跳到网站怎么做,女孩子做运营是不是压力很大,苏州网站建设制作方案,灰色项目源码文章目录 一、使用 QDomDocument操作节点1.1 将信息写入XML文件中1.2.从XML文件中读取信息 二、使用 QXmlStreamWriter操作节点2.1 将信息写入XML文件中2.2 从XML文件中读取信息 三、总结 一、使用 QDomDocument操作节点 1.1 将信息写入XML文件中 #include <QDomDocument&…

文章目录

    • 一、使用 QDomDocument操作节点
      • 1.1 将信息写入XML文件中
      • 1.2.从XML文件中读取信息
    • 二、使用 QXmlStreamWriter操作节点
      • 2.1 将信息写入XML文件中
      • 2.2 从XML文件中读取信息
    • 三、总结

一、使用 QDomDocument操作节点

1.1 将信息写入XML文件中

#include <QDomDocument>
#include <QTextStream>
#include <QFile>
#include <QDir>void writeXmlWithStreamWriter() {QDomDocument document; // 创建对象QDomProcessingInstruction version; // 写入XML头部(添加处理命令)version = document.createProcessingInstruction("xml", "version = \"1.0\" encoding = \"utf8\"");document.appendChild(version);QDomElement root = document.createElement("Books");document.appendChild(root);// 模拟多个书for (int i = 1; i <= 3; ++i) {QDomElement book = document.createElement("Book");book.setAttribute("id", QString::number(i));QDomElement title = document.createElement("Title");QDomText text = document.createTextNode(QString("Book Title %1").arg(i));title.appendChild(text);book.appendChild(title);root.appendChild(book);}// 保存到文件QDir dir(QCoreApplication::applicationDirPath());QString strXmlPath = dir.absoluteFilePath("book_xml.xml");QFile file(strXmlPath);if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {QTextStream out(&file);document.save(out, 4);file.close();}
}

输出结果:

<?xml version = "1.0" encoding = "utf8"?>
<Books><Book id="1"><Title>Book Title 1</Title></Book><Book id="2"><Title>Book Title 2</Title></Book><Book id="3"><Title>Book Title 3</Title></Book>
</Books>

1.2.从XML文件中读取信息

#include <QDomDocument>
#include <QTextStream>
#include <QFile>
#include <QDir>
#include <QDebug>void readXmlWithDom() {// 保存到文件QDir dir(QCoreApplication::applicationDirPath());QString strXmlPath = dir.absoluteFilePath("book_xml.xml");QFile file(strXmlPath);if (!file.open(QIODevice::ReadOnly)) {qDebug() << "Failed to open file";return;}QDomDocument document;if (!document.setContent(&file)) {qDebug() << "Failed to parse XML";file.close();return;}file.close();// 获取根节点QDomElement root = document.documentElement();if (root.tagName() != "Books") {qDebug() << "Invalid root element";return;}// 遍历所有 Book 节点QDomNodeList books = root.elementsByTagName("Book");for (int i = 0; i < books.count(); ++i) {QDomElement book = books.at(i).toElement();QString id = book.attribute("id");QString title = book.firstChildElement("Title").text();qDebug() << "Book id:" << id << ", title:" << title;}
}

输出结果:
在这里插入图片描述

二、使用 QXmlStreamWriter操作节点

2.1 将信息写入XML文件中

#include <QXmlStreamWriter>
void writeMultipleBooks() {QDir dir(QCoreApplication::applicationDirPath());QString strXmlPath = dir.absoluteFilePath("book_xml.xml");QFile file(strXmlPath);if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) {qDebug() << "Failed to open file for writing.";return;}QXmlStreamWriter xmlWriter(&file);xmlWriter.setAutoFormatting(true); // 自动换行缩进xmlWriter.writeStartDocument();    // 写XML头部 <?xml version="1.0" encoding="UTF-8"?>xmlWriter.writeStartElement("Books"); // <Books>// 写多个<Book>子节点for (int i = 1; i <= 3; ++i) {xmlWriter.writeStartElement("Book");         // <Book>xmlWriter.writeAttribute("id", QString::number(i)); // 添加id属性xmlWriter.writeTextElement("Title", QString("Book Title %1").arg(i)); // 写<Title>内容xmlWriter.writeEndElement();                 // </Book>}xmlWriter.writeEndElement(); // </Books>xmlWriter.writeEndDocument(); // 自动结束file.close();
}

输出结果:

<?xml version="1.0" encoding="UTF-8"?>
<Books><Book id="1"><Title>Book Title 1</Title></Book><Book id="2"><Title>Book Title 2</Title></Book><Book id="3"><Title>Book Title 3</Title></Book>
</Books>

2.2 从XML文件中读取信息

#include <QXmlStreamReader>void readMultipleBooks() {QDir dir(QCoreApplication::applicationDirPath());QString strXmlPath = dir.absoluteFilePath("book_xml.xml");QFile file(strXmlPath);if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {qDebug() << "Failed to open file.";return;}QXmlStreamReader xmlReader(&file);QString currentId;QString currentTitle;while (!xmlReader.atEnd()) {xmlReader.readNext();if (xmlReader.isStartElement()) {if (xmlReader.name() == "Book") {currentId = xmlReader.attributes().value("id").toString();}else if (xmlReader.name() == "Title") {currentTitle = xmlReader.readElementText();qDebug() << "Book ID:" << currentId << "Title:" << currentTitle;}}}if (xmlReader.hasError()) {qDebug() << "XML parse error:" << xmlReader.errorString();}file.close();
}

输出结果:
在这里插入图片描述
解析过程详解:

  • readNext() ➔ 读取下一个XML记号(元素开始、元素结束、文本等)
  • isStartElement() ➔ 检查是不是开始的标签 <…>
  • xmlReader.name() ➔ 得到当前节点名字
  • xmlReader.attributes().value(“xxx”) ➔ 读取节点的属性,比如 <Book id=“1”>
  • xmlReader.readElementText() ➔ 读取节点内的文本,比如 <Title>xxx

三、总结

QDomDocument 和 QXmlStreamWriter/Reader 的最大区别在于:
在这里插入图片描述
举个具体场景对比
用 QDomDocument ➔ 适合做:

  • 需要随时修改某个节点
  • 比如:读取配置文件,动态增加配置项,保存回去
  • 编辑复杂XML(像HTML编辑器)

用 QXmlStreamReader/Writer ➔ 适合做:

  • 只需要快速读一遍提取数据
  • 需要生成超大XML(比如100MB+的数据导出)
  • 不需要修改,只需要一条条处理
http://www.dtcms.com/wzjs/280943.html

相关文章:

  • 满屏网站设计做多大北京网站优化企业
  • PHP动态网站开发技术试题seo网站排名后退
  • 凡客tv东莞市网站seo内容优化
  • 响应式网站设计常见的网络营销推广方式有哪些
  • 天河区营销型网站建设电脑优化大师哪个好
  • wordpress 图片列表seo站外优化最主要的是什么
  • 凡科做的网站手机版求老哥给几个靠谱的网站
  • 郑州市经开区建设局网站seovip培训
  • 建设政府网站集约化百家号关键词排名
  • 网站建设公司86215廊坊自动seo
  • 桂林北站到桂林站多远关键词优化有哪些作用
  • 做网站要多少费用seo推广工具
  • 自己有了域名 怎么做网站外链工具下载
  • 全国企业信用信息公示系统网站网站推广技巧和方法
  • 什么是成品网站seo矩阵培训
  • 移动端显卡网站seo排名优化工具在线
  • 有人模仿qq音乐做的h5网站吗大型营销型网站制作
  • 深圳高端网站建设多少钱河南制作网站公司
  • 自己做的网站外国人能访问吗杭州网站建设公司
  • 厦门seo排名公司南宁seo手段
  • wordpress添加全屏海报最好的网站优化公司
  • 建设工程施工合同(示范文本)深圳谷歌优化seo
  • 南宁优质手机网站建设公司信息推广的方式有哪些
  • 做影集的网站或软件国外b站不收费免费2023
  • 中牟建设工程信息网站营销策划方案范文
  • 重庆手机网站制作优化网站建设seo
  • 网站建设有关图片关键词搜索量排名
  • 阿里妈妈网站推广提交百度网站排名怎么提高
  • 深圳网站关键词山东公司网站推广优化
  • 用html做网站的步骤信息流广告投放流程