我需要寫一個將其保存在XML格式設置(爲了便於手動編輯),並通過XML消息通過套接字和HTTP現有的應用程序進行通信的Linux下C++應用程序。問題是我沒有找到任何智能庫來幫助我,我不特別想寫DOM或SAX代碼來編寫和閱讀一些非常簡單的消息。C++系列化清潔XML類似XSTREAM
Boost序列化幾乎是一個匹配,但它爲它生成的xml添加了很多特定於boost的數據。對於交換格式來說,這顯然不起作用。我想知道是否有可能使Boost Serialization或其他一些C++序列化庫生成乾淨的xml。我不介意是否有一些必需的額外屬性 - 比如版本屬性,但是我真的想要控制它們的命名,並且擺脫我不使用的'features' - tracking_level和class_id for實例。
理想我只想有類似的東西在Java中西河。我意識到C++缺乏自省,因此有必要進行一些手動編碼 - 但是如果有一個乾淨的解決方案,只需讀取和寫入簡單的XML就可以了,這很好!
如果不能這樣做,我也對XML模式是規範資源(契約第一)的工具感興趣 - 這是一種很好的JAXB替代C++的方法。到目前爲止,我只找到像CodeSynthesis XSD這樣的商業解決方案。我更喜歡開源解決方案。我已經嘗試過gSoap--但它產生了非常難看的代碼,它也是特定於SOAP的。
無奈之下我也開始尋找替代的序列化格式protobuffers。這存在 - 但僅限於Java!我真的很驚訝,協議緩衝區似乎是比XML更好的支持的數據交換格式。
我要瘋了剛剛找到庫爲這個應用程序,我真的需要一些新的想法。任何人?