C語言實現XML生成解析庫 XML擴充套件

2021-08-08 23:47:15 字數 562 閱讀 9555

放假期間在家有點無聊,前一段時間對xml的生成、解析比較感興趣,便根據自己對xml的理解結合鍊錶實現乙個xml的製作與解析的結構。

設計採用了固定格式頭資訊加自定義頭資訊:

《?xml version=」xml」 encoding=」utf-8」? 》這段資料屬於固定格式頭資訊,裡面的」xml」和」utf-8」可以通過庫函式進行修改;

《?567?》這段資料屬於自定義頭資訊,可以自由增加;

節點、元素以及元素資料採用名稱+標籤型別+標籤名稱+標籤資料組成,其中名稱不能省略,型別、資料名稱以及資料可以任意增加:

《test3 table1 tablename1=」tabledata1」》這段資料中 test3是節點名稱,table1是節點標籤型別,tablename1是標籤名稱,tabledata1是標籤資料;

下面說下庫的結構:

首先看下效果圖:

大量資料下的效果圖:

c語言解析xml

根據導師的要求,要用c語言解析乙個xml檔案,用於對公升級檔案進行合法性判斷,進而對軟體進行公升級。看了一些源 發現他們主要使用樹型結構來實現對xml 的解析,由於能力有限吧,感覺很麻煩,可能占用記憶體也會很大,所以我苦苦思索了好久,決定使用遞迴的方法解析xml檔案,每當解析出相應的數值時,可以立即...

C語言實現的json解析程式

只有乙個標頭檔案和乙個原始檔,僅使用c語言標準庫。typedef enum json st json st struct js struct jn struct ja struct jb struct je struct jo json的6種型別分別對應了上述6種結構,其實可以做的更簡單一點的,但我...

學生成績管理 c語言實現

鍊錶a,每個節點存放乙個新的鍊錶b1,b2,b3,b4,b5的頭結點。場景 乙個年級,相當鍊錶a 該年級5個班,每個班5個人,相當於鍊錶b1 b5 做乙個學生成績管理系統 學生成績有語文 數學 英語 功能 錄入成績 找最三科總分的最高分 最低分 算出平均分。include include inclu...