日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

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

今天解析一個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>

運行截圖如下:

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。