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

网站规划步骤有哪些百度app下载官方免费最新版

网站规划步骤有哪些,百度app下载官方免费最新版,二手车做网站的目的,网站开发图标文章目录 背景QXmlStreamReader简单介绍使用QXmlStreamReader添加头文件<QXmlStreamReader>toString()toInt()完整代码 背景 项目中遇到需要解析某个方法返回的xml字符串&#xff0c;奈何C/C中没有原生的方法可供调用&#xff0c;只能使用第三方库&#xff0c;搜了一圈资…

文章目录

  • 背景
  • QXmlStreamReader简单介绍
  • 使用QXmlStreamReader
    • 添加头文件<QXmlStreamReader>
    • toString()
    • toInt()
    • 完整代码

背景

项目中遇到需要解析某个方法返回的xml字符串,奈何C/C++中没有原生的方法可供调用,只能使用第三方库,搜了一圈资料发现都不好用。刚好项目中用的Qt,瞬间想到了Qt中提供的各种各样的函数,去仔细查了一下Qt中提供的函数——QXmlStreamReader,真救命稻草,几行代码就搞定了我的需求。

QXmlStreamReader简单介绍

自QT4.3版本开始,QT提供了两个新类来读写XML:QXmlStreamReader 和 QXmlStreamWriter。顾名思义,QXmlStreamReader用于读取XML,QXmlStreamWriter用于写入XML。这两个类都使用流的方式操作xml,比起使用DOM和SAX解析xml,这是最快最方便的操作xml的方法。

使用QXmlStreamReader

添加头文件

假设有如下xml字符串,解析获取其中name、attr1、attr2的值
在这里插入图片描述
使用QXmlStreamReader只需要简单的几行代码就能搞定

QString xml = R"(<?xml version='1.0' encoding='UTF-8'?><featureinfo><features><feature name='a' attr1='100' attr2='10' /><feature name='b' attr1='200' attr2='20' /><feature name='c' attr1='300' attr2='30' /></features></featureinfo>)";// 1、初始化QXmlStreamReaderQXmlStreamReader reader(xml);while(!reader.atEnd() && !reader.hasError()) {// 2、使用readNext读取下一行QXmlStreamReader::TokenType token = reader.readNext();if (token == QXmlStreamReader::StartElement) { // 判断是否为xml开始标签,即左边的<if (reader.name() == "feature") { // 标签名称qDebug() << "name:" << reader.attributes().value("name").toString() << " attr1:" << reader.attributes().value("attr1").toInt() << " attr2:" << reader.attributes().value("attr2").toInt();}}}

最后调用attributes()方法获取对应的属性值即可。需要注意的是,reader.attributes().value(“name”).toString()还是toInt(),需要根据实际数据类型来确定,字符串就选toString,整数就选toInt。区别如下:

toString()

qDebug() << "name:" << reader.attributes().value("name").toString() << " attr1:" << reader.attributes().value("attr1").toString() << " attr2:" << reader.attributes().value("attr2").toString();

在这里插入图片描述
可以看到输出的也是字符串类型。

toInt()

qDebug() << "name:" << reader.attributes().value("name").toString() << " attr1:" << reader.attributes().value("attr1").toInt() << " attr2:" << reader.attributes().value("attr2").toInt();

在这里插入图片描述
此处输出的是int类型。

完整代码

项目文件test.pro
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle

SOURCES += main.cpp
main.cpp

#include <iostream>
#include <QString>
#include <QXmlStreamReader>
#include <qDebug>using namespace std;int main()
{QString xml = R"(<?xml version='1.0' encoding='UTF-8'?><featureinfo><features><feature name='a' attr1='100' attr2='10' /><feature name='b' attr1='200' attr2='20' /><feature name='c' attr1='300' attr2='30' /></features></featureinfo>)";// 1、初始化QXmlStreamReaderQXmlStreamReader reader(xml);while(!reader.atEnd() && !reader.hasError()) {// 2、使用readNext读取下一行QXmlStreamReader::TokenType token = reader.readNext();if (token == QXmlStreamReader::StartElement) { // 判断是否为xml开始标签,即左边的<if (reader.name() == "feature") { // 标签名称qDebug() << "name:" << reader.attributes().value("name").toString() << " attr1:" << reader.attributes().value("attr1").toInt() << " attr2:" << reader.attributes().value("attr2").toInt();//qDebug() << "name:" << reader.attributes().value("name").toString() << " attr1:" << reader.attributes().value("attr1").toString() << " attr2:" << reader.attributes().value("attr2").toString();}}}return 0;
}
http://www.khdw.cn/news/17265.html

相关文章:

  • 网站搭建的公司网站如何制作
  • 网页搜索的快捷键关键词优化公司排名榜
  • 做传媒网站公司今日疫情最新消息全国31个省
  • 学建筑的女生后悔吗提升seo排名平台
  • 电脑软件制作入门教程惠州seo排名优化
  • 房地产最新消息政策代表了什么外包seo服务口碑好
  • 重庆最专业的房产网站建设百度指数查询官网入口登录
  • 男和男做那个视频网站aso优化平台
  • 南昌高端网站定制seo全网优化推广
  • 商城类网站建设数据库深圳网站设计
  • 集团网站建设方案书热门关键词排名查询
  • 江门网站设计模板爱站网ip反域名查询
  • 开家网站建设培训学校百度竞价怎么做开户需要多少钱
  • 网站建设会议讲话信息流广告投放流程
  • 开源 企业网站站长之家查询
  • 网站怎么做任务赚钱吗外链优化
  • 男女做暖暖插孔网站正安县网站seo优化排名
  • 二级域名网站关键词竞价排名
  • 企业信用信息查询公示系统河南seo整站优化服务
  • 电商网站有哪些值得注意的怎么做网络推广最有效
  • dede 网站打开慢石家庄学院
  • 浙江省住房城乡建设厅网站首页个人博客网站搭建
  • 本机网站环境搭建惠州seo快速排名
  • 如何在工商网站做预先核名手机网站模板免费下载
  • 开个网站建设公司多少钱扫描图片找原图
  • 网页设计需要注意的问题seo长尾快速排名
  • 南通市建设局网站马建明软文大全800字
  • asp网站打不开seo软件全套
  • 怎样做网站轮播佣金高的推广平台
  • 四海网络网站建设定制搜索引擎营销题库和答案