freecplus框架 xml解析

2021-10-03 13:58:37 字數 2609 閱讀 1572

本文介紹的是採用freecplus框架的解析xml格式字串函式。

函式和類的宣告檔案是freecplus/_freecplus.h。

函式和類的定義檔案是freecplus/_freecplus.cpp。

示例程式位於freecplus/demo目錄中。

編譯規則檔案是freecplus/demo/makefile。

xml格式字串是應用開發中被廣泛採用的一種資料格式,簡單易懂,容錯性和可擴充套件性非常好,是資料處理、資料通訊和資料交換等應用場景的首選資料格式。

完整的xml格式比較複雜,但是,在實際開發中,對我們c/c++程式設計師來說,絕大部分場景下用到的xml資料格式比較簡單,例如表示檔案列表資訊的xml資料集或檔案內容如下:

_freecplus.h<

/filename>

2020-01

-0112:

20:35<

/mtime>

1834

<

/size>

>

_freecplus.cpp<

/filename>

2020-01

-0110:

10:15<

/mtime>

5094

<

/size>

>

<

/data>

資料集說明:

:資料集的開始。

:資料集的結束。

:每行資料的結束。

filename標籤:檔名。

mtime標籤:檔案最後一次被修改的時間。

size標籤:檔案的大小。

在freecplus框架中,提供了解析以下xml格式字串的一系函式。

函式宣告:

bool

getxmlbuffer

(const

char

*xmlbuffer,

const

char

*fieldname,

bool

*value)

;bool

getxmlbuffer

(const

char

*xmlbuffer,

const

char

*fieldname,

int*value)

;bool

getxmlbuffer

(const

char

*xmlbuffer,

const

char

*fieldname,

unsigned

int*value)

;bool

getxmlbuffer

(const

char

*xmlbuffer,

const

char

*fieldname,

long

*value)

;bool

getxmlbuffer

(const

char

*xmlbuffer,

const

char

*fieldname,

unsigned

long

*value)

;bool

getxmlbuffer

(const

char

*xmlbuffer,

const

char

*fieldname,

double

*value)

;bool

getxmlbuffer

(const

char

*xmlbuffer,

const

char

*fieldname,

char

*value,

const

int ilen=0)

;

引數說明:

xmlbuffer:待解析的xml格式字串的內容。

fieldname:欄位的標籤名。

注意,當value引數的資料型別為char 時,必須保證value陣列的記憶體足夠,否則可能發生記憶體溢位的問題,也可以用ilen引數限定獲取字段內容的長度,ilen的預設值為0,表示不限定獲取字段內容的長度。

返回值:true-獲取成功;false-獲取失敗。

示例(demo22.cpp)

/*

* 程式名:demo22.cpp,此程式演示呼叫freecplus框架的getxmlbuffer函式解析xml字串。

*/#include

"../_freecplus.h"

// 用於存放足球運動員資料的結構體。

struct st_player

stplayer;

intmain()

對c/c++程式設計師來說,採用簡單的xml字串表達資料可以提高開發效率,我不建議採用複雜的xml格式,會讓程式**很煩鎖。

如果在實際開發中需要解析更複雜的xml,可以尋找網上的開源庫,例如libxml++。

freecplus框架 xml解析

本文介紹的是採用freecplus框架的解析xml格式字串函式。函式和類的宣告檔案是freecplus freecplus.h。函式和類的定義檔案是freecplus freecplus.cpp。示例程式位於freecplus demo目錄中。編譯規則檔案是freecplus demo makefi...

freecplus框架 xml解析

目錄本文介紹的是採用freecplus框架的解析xml格式字串函式。函式和類的宣告檔案是freecplus freecplus.h。函式和類的定義檔案是freecplus freecplus.cpp。示例程式位於freecplus demo目錄中。編譯規則檔案是freecplus demo make...

freecplus框架 目錄操作

目錄本文介紹的是freecplus框架的目錄操作函式和類。函式和類的宣告檔案是freecplus freecplus.h。函式和類的定義檔案是freecplus freecplus.cpp。示例程式位於freecplus demo目錄中。編譯規則檔案是freecplus demo makefile。...