TinyXml2 的使用


晚上研究了下 TinyXml-2,因為馬上要用到它。網上搜了一些資料后,感覺很少有比較實用的描述。所以寫這篇文章只為總結下 TinyXml-2 從編譯到一個非常簡單的樣例運行。

編譯及使用

我用的是 TinyXml-2.6.2,下載地址:http://sourceforge.net/projects/tinyxml/,下載以后,其默認是用 VS2010 打開的。如圖:

2014-09-07_215424

 

可以看到,總共有四個項目,其中下面兩個是無用的,如其名字所述(…Test…),僅僅為了測試。上面兩個項目編譯出來的區別就是是否支持STL。選擇“生成->批生成->全選->生成”,如此會對這四個項目全部生成(Release版和Debug版都有)。生成時,可能會有報錯,不過放心,仔細看的話會發現全部都是 xmltest.cpp 這個文件中的錯誤,你用不到它,無需關心。

有些人可能會問,沒有 VS2010 怎么辦?很簡單,比 2010 版本高的,打開時 直接 update 即可。比 2010 低的版本 稍微麻煩點。我以 VS2008 為例。新建一個 Win32 控制台應用程序,在應用向導中選擇 空項目+靜態庫,將如圖中的6個文件添加到項目中。

2

編譯時會報“fatal error C1010: 在查找預編譯頭時遇到意外的文件結尾。是否忘記了向源中添加“#include “stdafx.h””?”,很簡單,按照提示,在對應的文件一一加上即可,重新編譯生成,即可得到 .lib 文件。

那我們如何在項目中如何使用 TinyXml-2 呢?我嘗試且成功了兩種方法是:一種方法是將上圖中的兩個 .h 文件(主要是tinyxml.h)和生成的 .lib 文件復制到你的工程目錄(和其他 .cpp 文件在一起),將頭文件添加到項目,在需要使用TinyXml-2 的地方包含這兩個頭文件並鏈接庫文件(添加如下代碼):

另一種方法就是不用生成的庫,直接把上圖中的六個文件復制並添加到項目中,也可以。

例程

下面再奉上我看到的一個相當簡單的例子,可以向你展示 TinyXml-2 中很簡單的一些操作。讓你很快對其能有所認識。

運行結果:

3

是不是很好理解?!^^

 

TinyXml-2 的結構(引自自帶文檔)

classTiXmlBase
TiXmlBase 是所有類的基類,TiXmlNode、TiXmlAttribute兩個類都繼承來自 TiXmlBase 類,其中 TiXmlNode 類指的是所有被<…>…<…/>包括的內容,而xml中的節點又具體分為以下幾方面內容,分別是聲明、注釋、節點以及節點間的文本,因此在 TiXmlNode 的基礎上又衍生出這幾個類 TiXmlComment、TiXmlDeclaration、TiXmlDocument、TiXmlElement、TiXmlText、TiXmlUnknown,分別用來指明具體是 xml 中的哪一部分。TiXmlAttribute 類不同於 TiXmlNode,它指的是在尖括號里面的內容,像<… ***=…>,其中***就是一個屬性。這塊我具體用一個xml文檔說明一下,內容如下:

Xml代碼:

 

TiXmlDeclaration 指的是<?xml version=”1.0″ encoding=”UTF-8″?>,

TiXmlComment 指的是<!–one item behalfs one contacted person.–>、 <!–more contacted persons.–>,

TiXmlDocument 指的是整個xml文檔,

TiXmlElement 指的是<phonebook>、<item>、<name>、<addr>等等這些節點,

TiXmlText 指的是‘gougou’、‘15840330481’這些夾在<item>與</item>、<name>與</name>、<addr>與</addr>之間的文本文字,

TiXmlAttribute 指的是<?xml version=”1.0″ encoding=”UTF-8″?>節點中version、encoding,

除此之外就是 TiXmlUnknown。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM