tinyxml有兩個不爽的地方,一是它的介面使用file*,另外乙個是它對 wchar_t不能很好的支援。前陣子看boost庫的更新中多了乙個propertytree,他在處理xml時用到了另外乙個小的庫 –rapidxml。既然間接的是boost庫的一部分,所以是值得一試的。於是找到其官方**(研究了一番。一看之下,甚是滿意,也推薦給大家看看!
首先就是速度,據它自己宣稱比tinyxml快30到60倍,比xerces dom快50到100倍!詳細的測試比較請見其使用者手冊(的「4. performance 」一節。
其次它的設計非常的簡潔,只依賴於標準庫中的幾個基本的類。它的輸入輸出都是字串,這樣很好,乙個庫就應該關注自己核心的內容,做盡量少的事情。它的api其實和tinyxml倒是有幾分相似,用過tinyxml的人應該很容易上手:
tinyxml主要介面類 rapidxml的主要介面類
tinyxml主要介面類
rapidxml的主要介面類
class tixmldocument
template
class xml_document
class tixmlnode
template
class xml_node
class tixmlattribute
template
class xml_attribute
下面還是看乙個具體的例子來體驗一下,下面是tinyxml官方教程中建立xml文件的一段**:
void build_******_doc( )下面是使用rapidxml實現類似功能的**:
string text;
rapidxml::print(std::back_inserter(text), doc, 0);
// write text to file by yourself }
下面是使用rapidxml分析xml的樣例**:
void parse_doc_by_rapidxml(char* xml_doc)好東西,大家分享!:d
你不再需要TinyXML,推薦RapidXML
目前我公司開發的nexus engine的底層物件序列化使用了tinyxml來讀寫xml檔案。tinyxml有兩個不爽的地方,一是它的介面使用file 另外乙個是它對wchar t不能很好的支援。前陣子看boost庫的更新中多了乙個propertytree,他在處理xml時用到了另外乙個小的庫 ra...
願你不再迷茫
如果歲月是一路漫長的旅途,人生則是其中的一道道深淺不一的腳印,且借西風遠望,視線中那一排排印痕,有的已被朔風磨去了稜角,被時光的陰翳悄然遮蔽,有的卻依然清晰,像被鐫刻在了翡翠青石之中,在時空的逆流中熠熠生輝 古人云 天行健,君子以自強不息。人生短暫,光陰無情,時光如流水般匆匆而過,來不及享受便已化作...
讓監控不再需要人
生命中唯一不能走的是回頭路,唯一不能錯過的是成長的路。我們的主人翁叫白慧冬 筆名青潤 他正走在自己顛簸的路上,沒有回頭,有的只是堅持和收穫。他跟他所屬的團隊開發了一套智慧型分析軟體,拿我們隨處可見的攝像頭來說,其錄影最後是傳輸到監控13 工作已8 年多 做這個軟體也有三年的他,一定有很多切身的體驗和...