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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Qt DOM读写XML文件

發布時間:2025/5/22 asp.net 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt DOM读写XML文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

QXmlStreamReader:一種快速的基于流的方式訪問良格式 XML 文檔,特別適合于實現一次解析器(所謂“一次解析器”,可以理解成我們只需讀取文檔一次,然后像一個遍歷器從頭到尾一次性處理 XML 文檔,期間不會有反復的情況,也就是不會讀完第一個標簽,然后讀第二個,讀完第二個又返回去讀第一個,這是不允許的);
DOM(Document Object Model):將整個 XML 文檔讀入內存,構建成一個樹結構,允許程序在樹結構上向前向后移動導航,這是與另外兩種方式最大的區別,也就是允許實現多次解析器(對應于前面所說的一次解析器)。DOM 方式帶來的問題是需要一次性將整個 XML 文檔讀入內存,因此會占用很大內存;
SAX(Simple API for XML):提供大量虛函數,以事件的形式處理 XML 文檔。這種解析辦法主要是由于歷史原因提出的,為了解決 DOM 的內存占用提出的(在現代計算機上,這個一般已經不是問題了)。

XML文件如下:

<?xml version='1.0' encoding='UTF-8'?> <china><beijing><haidian><university><peking><cs><name>奧巴馬</name></cs></peking></university></haidian></beijing> </china>

?Qt解析代碼如下:

QDomDocument doc;QDomElement root;QString filename = "D:\\Qt Projects\\TestXML_1\\demo.xml";QFile file(filename);if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){QMessageBox::critical(this, "文件打開失敗", QString("不能打開文件:%1").arg(filename));return;}QString error;int errrow, errcol;if(!doc.setContent(&file, false, &error, &errrow, &errcol)){QMessageBox::critical(this, "文件解析失敗",QString("解析錯誤行:%1, 列:%2:%3").arg(errrow).arg(errcol).arg(error));file.close();return;}root = doc.documentElement();file.close();QString path = "china/beijing/haidian/university/peking/cs/name";QStringList strlist = path.split("/");QDomElement element = root;for(int i=1; i<strlist.count(); i++){element = element.firstChildElement(strlist.at(i));}qDebug() << element.nodeName() << "\t" << element.text();

運行結果:

22:58:14: Starting D:\Qt Projects\build-TestXML_1-Desktop_Qt_6_0_3_MinGW_64_bit-Debug\debug\TestXML_1.exe ... "name" "奧巴馬" 22:58:17: D:\Qt Projects\build-TestXML_1-Desktop_Qt_6_0_3_MinGW_64_bit-Debug\debug\TestXML_1.exe exited with code 0

總結

以上是生活随笔為你收集整理的Qt DOM读写XML文件的全部內容,希望文章能夠幫你解決所遇到的問題。

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