日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt工作笔记-如何正确使用QXmlStreamReader(学会利用错误提示)

發布時間:2025/3/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt工作笔记-如何正确使用QXmlStreamReader(学会利用错误提示) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天解析一個xml,是有問題的xml,這里模擬下

xml如下,沒有聲明名稱空間卻使用了名稱空間

<?xml version="1.0" encoding="GBK"?> <root><Node name="first Tree" text="hello"/><Node name="Tree addition" text="how are you?"/><One:a name="One a"/><One:b name="One b"/> </root>

在Qt中使用QXmlStreamReader是有提示的

因此,要寫一個健壯性的程序,就不得不看官方文檔,

更具這篇文檔,寫了個有健壯性的程序

源碼如下:

main.cpp

#include <QXmlStreamReader> #include <QApplication> #include <QFile> #include <QDebug>int main(int argc, char *argv[]) {QFile file("E:\\Qt2018\\ProperUsageXMLReader\\my.xml");if(!file.open(QFile::ReadOnly|QFile::Text)){qDebug()<<"open failed!";return -1;}QXmlStreamReader reader;reader.setDevice(&file);while(!reader.atEnd()){reader.readNext();if(reader.name().toString()=="Node"){qDebug()<<"Node name: "<<reader.attributes().value("name").toString();qDebug()<<"Node text:"<<reader.attributes().value("text").toString();}/** do processing*/if(reader.hasError()){qDebug()<<"the error is "<<reader.errorString();file.close();Q_ASSERT(!"xml file has error");}}file.close();return 0; }

錯誤的XML文件,或者解析失敗的XML文件,運行截圖如下:

?

如果是正確的xml文件,

xml源碼如下:

<?xml version="1.0" encoding="GBK"?> <root><Node name="first Tree" text="hello"/><Node name="Tree addition" text="how are you?"/><Other xmlns:One="namespace"><One:a name="One a"/><One:b name="One b"/></Other> </root>

運行截圖如下:

總結

以上是生活随笔為你收集整理的Qt工作笔记-如何正确使用QXmlStreamReader(学会利用错误提示)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。