使用 rapidxml 做配置檔案

2021-05-24 13:55:22 字數 1529 閱讀 5009

對於配置檔案,一般會選用

ini,xml

等等的配置格式。如何快速高效的從檔案內讀取自己想要的資訊是每個做配置檔案想要達到的效果。對以小型開發我們並不用時用到

msxml

這種重量級的解析器。那樣會給自己添麻煩的。這裡我推薦大家使用

rapidxml

。之前使用

tinyxml

感覺還可以。後看了

rapidxml

就想換用這個開源庫。經常編寫跨平台軟體省去編譯和載入

lib。4

個檔案實現解析

xml而且超高效官網還拿他跟

strlen

比較速度牛

x吧看看下面的表。

其他廢話我就不多講。其實之前也有人介紹這個庫怎麼使用。這裡我就給幾個鏈結。

燕良部落格:

官網:http://rapidxml.sourceforge.net/

如果不懂

xml的概念的朋友自己到網上找下相關的教程學習下。這裡我簡單的介紹下各個檔案的作用:自己留個底怕以後自己會忘。

庫可以配置巨集:

rapidxml_no_exceptions //

不使用異常

rapidxml_static_pool_size //

記憶體池大小預設

(64 * 1024)

一般都不用改

rapidxml.hpp

:只要檔案

實現記憶體池

解析string

異常處理

xml_base

基數節點類

xml_attribute

文字類xml_node

節點類xml_document

文件類rapidxml_iterators.hpp

:提供兩個迭代器類:

node_iterator

,attribute_iterator

rapidxml_print.hpp

:提供跟字串,流物件的裝換函式

rapidxml_utils.hpp

:提供乙個

file

用來讀取檔案使用

跟兩個計數函式

count_children

,count_attributes

節點型別原始碼講的很清楚

簡單操作:

執行結果:

讀取檔案(這裡是從其他拷過來我剛學的時候就儲存下來了,忘了在那裡考的網上有好幾個位兄弟都有的感覺,我也借來用用):

基本的步驟為

首先獲取

xml檔案資料

然後分析資料

獲取節點

獲取屬性

獲取名字

獲取值...

**如下:

需要說明的是

rapidxml

明顯有乙個

bug那就是

的時候並不考慮該物件是否存在

!

lua做配置檔案

id col1 col2 col3 id1value1 1 value1 2 value1 3 id2value2 1 value2 2 value2 3 id3value3 1 value3 2 value3 3 以乙個m行n列的 為例 儲存結構 dictionary 第一層 key 行id,va...

yaml做配置檔案

yaml是 yaml ain t a markup language yaml不是一種置標語言 的遞迴縮寫。可以做多種用途 指令碼語言,序列化,配置檔案 我們常見的是config.yaml做配置檔案 可以看出,同乙個縮排屬於同乙個級別的,可以理解為和window的資料夾一樣,當前面有 就是乙個陣列。...

tp Yaconf 配置檔案使用

yaconf是乙個高效能的php配置容器,它在php啟動的時候把格式為ini的配置檔案parse後儲存在php的常駐記憶體中 configure with php config usr bin php config make j make install 查詢php.ini檔案php i grep ...