QT中XML的使用(學習筆記)

2021-10-08 18:57:32 字數 2558 閱讀 2852

qdomdocument//qdomdocument類表示乙個xml文件。

qdomelement//qdomelement類表示dom樹中的乙個元素。

qdomattr//qdomattr類表示qdomelement的乙個屬性。

qdomnodelist//qdomnodelist類是qdomnode物件的列表。

qdomtext//qdomtext類表示已解析的xml文件中的文字資料。

#define cout qdebug() << "[" << __file__ << ":" << __line__ << "]"qdebug()定義成cout並且顯示檔案,行資訊

//第一行是 xml 宣告。它定義 xml 的版本 (1.0) 和所使用的編碼 (utf-8)

<?xml version='1.0' encoding='utf-8'?> //xml 宣告

《日銷售清單

>

//描述文件的根元素

《日期date

="2020-08-02"

>

//描述文件的子節點元素

《時間time

="14:18:27"

>

//描述文件的子節點元素

《廠家>

一汽大眾廠家

>

//描述文件的子元素

《品牌>

一汽大眾品牌

>

<**

>

10**

>

《數量>

1數量》

《金額>

10金額

>

時間>

日期>

日銷售清單

>

//定義根元素的結尾

void demoxml:

:createxml

(qstring filepath)

else

else

}}

void demoxml:

:(qstring filepath, qstringlist list)

else

//如果不是今天的時間,就建立新日期

}else

//如果沒有日期子節點就建立,步驟和上面一樣

//儲存檔案

isok = file.

open

(qiodevice:

:writeonly);if

(isok)

}else

}else

}

void demoxml::

writexml

(qdomdocument &doc, qdomelement &root, qstringlist &list)

}

void demoxml::

readxml

(qstring filepath, std::vector>

&carvector)

}else

//如果不是當天日期就不讀取

}else

//沒有子節點不讀取

}else

//關聯失敗不讀取

}//檔案開啟失敗不讀取

else

}

類的靜態成員(變數和方法)屬於類本身,在類載入的時候就會分配記憶體,可以通過類名直接去訪問;非靜態成員(變數和方法)屬於類的物件,所以只有在類的物件產生(建立類的例項)時才會分配記憶體,然後通過類的物件(例項)去訪問。

#include

#include

#include

#include

class

demoxml

;

//demoxml中的函式定義為static,可以直接呼叫

demoxml::

createxml

("../demo.xml");

//建立乙個demo.xml檔案

qstringlist list;

list <<

"二汽神龍"

<<

"畢卡索"

<<

"39"

<<

"1"<<

"39"

; demoxml::

("../demo.xml"

,list)

;//寫入資料

std::vector> carstring;

demoxml::

readxml

("../demo.xml"

,carstring)

;//讀取資料

for(

int i=

0;isize()

;i++

)//"二汽神龍:畢卡索:賣出了1,單價為39,總價為39"

//讀取成功

}

Qt學習第6天 xml 筆記

1 mikename female 18score stu 2 jackname male 20score stu info 實現如下效果 xml version 1.0 encoding utf 8 日銷售清單 日期 date 2020 05 19 時間 time 10 30 58 廠家 二汽神龍...

QT中XML的讀寫

最近工作的專案中涉及到了xml檔案的處理,這裡做以及關於qt處理xml檔案的記錄。xml是一種很好的儲存資料的檔案。可以儲存資料量較大的並且帶有不同屬性的內容,其中xml採用的是倒樹形結構。由乙個根節點往後蔓延多個孩子節點,每個孩子節點下面又有多個孩子節點。每乙個節點中又可設定attribute。q...

Qt學習筆記 QTableWidget使用問題

1.設定可排序的qtablewidget一邊載入資料時出現非排序列無資料解決方式 在載入資料的時候設定為不可排序 ui ipv6table setsortingenabled false 載入完資料後設定為可排序 ui ipv6table setsortingenabled true 3.使用qta...