2013年12月13日 星期五

C++ XML serialize

之前一直覺得把class存為xml檔或是把xml檔讀入class內十分麻煩
雖然有boost::serialize可以用但出來的檔案實在不是人類看得懂的
所以就模仿的一下自己寫了個xml serialize

首先看一下使用方式

方法很像boost::serialize只是多傳了個參數的名稱
出來的檔案就會是

接下來是cvsArchiveBase定義了Archive該擁有的基底功能

然後是負責呼叫save實做的cvsArchiveXml

最後cvsSaveXml則是負責將data寫入file內
這邊比較麻煩的是得Partial Template Specialization所有基本c++型別
版面不足列出float的部份就好xd

只要再把讀檔功能做完以後就不用寫一堆dump跟parse xml的function了 可喜可賀