XML檔案在C++中的使用
今天做的任務需要我把一種類似樹的資料儲存起來並讀取,最開始想要使用ini檔案,但是一方面由於Ini檔案主要用來儲存配置,用它來儲存大量資料感覺不太好。。。而且我要儲存的資料結構是多層的多叉樹,用ini儲存很難定義結構,最後還是決定使用XML。
一、XML檔案結構
XML檔案的結構性內容,包括節點關係以及屬性內容等等。元素是組成XML的最基本的單位,它由開始標記,屬性和結束標記組成。就是一個元素的例子,每個元素必須有一個元素名,元素可以若干個屬性以及屬性值。一個xml檔案的例子 例
〈?xml version="1.0" encoding="gb2312" ?〉 〈學生資料〉 〈學生〉 〈名字〉李四〈/名字〉 〈身份〉學生〈/身份〉 〈年齡 虛實歲="實"〉20.00〈/年齡〉 〈/學生〉 〈/學生資料〉
第一行是 XML 宣告。它定義 XML 的版本 (1.0) 和所使用的編碼 (ISO-8859-1 = Latin-1/西歐字符集)。
下一行描述文件的根元素(像在說:“本文件是一個便籤”):學生資料
接下來 描述根的 子元素:學生,最後一行定義根元素的結尾;
XML 文件形成一種樹結構
XML 文件必須包含根元素。該元素是所有其他元素的父元素。
XML 文件中的元素形成了一棵文件樹。這棵樹從根部開始,並擴充套件到樹的最底端。
所有元素均可擁有子元素:
父、子以及同胞等術語用於描述元素之間的關係。父元素擁有子元素。相同層級上的子元素成為同胞(兄弟或姐妹)。
所有元素均可擁有文字內容和屬性(類似 HTML 中)。
二、C++讀寫XML檔案(使用tinyxml庫)
使用以下程式碼之前,需要下載TinyXml庫,幷包含到工程下,只需要包含tinystr.cpp tinystr.h tinyxml.cpp tinyxml.h tinyxmlerror.cpp tinyxmlparser.cpp 就可以了
(自己去搜吧。。。。。)