freecplus框架 xml解析

2022-07-04 21:36:11 字數 1942 閱讀 7953

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

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

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

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

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

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

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

_freecplus.h

2020-01-01 12:20:35

1834

_freecplus.cpp

2020-01-01 10:10:15

5094

資料集說明:

:資料集的開始。

:資料集的結束。

:每行資料的結束。

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;

int main()

對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 makefi...

freecplus框架 目錄操作

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