設定をXML形式で保存し(手作業で簡単に編集できるように)、ソケットとHTTPを介してXMLメッセージを介して既存のアプリと通信するLinuxc++アプリを作成する必要があります。問題は、私を助けるインテリジェントなライブラリを見つけることができなかったことです。非常に単純なメッセージを書き込んだり読んだりするためだけにDOMまたはSAXコードを書く気は特にありません。
Boost Serializationはほぼ一致しましたが、生成するxmlに多くのBoost固有のデータが追加されます。これは明らかにインターチェンジ形式ではうまく機能しません。BoostSerializationまたは他のc++シリアル化ライブラリでクリーンなxmlを生成できるかどうか疑問に思っています。バージョン属性など、必要な追加の属性があるかどうかは気になりませんが、それらの名前を制御し、使用しない「機能」を削除できるようにしたいと思います-tracking_levelとclass_id for実例。
理想的には、Javaのxstreamに似たものが欲しいだけです。私は、C ++には内省がなく、したがって手動でコーディングする必要があるという事実を認識しています。しかし、単純なXMLを恨みなく読み書きするだけのクリーンなソリューションがあれば、それは素晴らしいことです。
これができない場合は、XMLスキーマが正規のリソース(最初にコントラクト)であるツールにも興味があります。これは、C++に代わる優れたJAXBです。これまでのところ、CodeSynthesisXSDのような商用ソリューションしか見つかりませんでした。私はオープンソースソリューションを好みます。私はgSoapを試しましたが、それは本当に醜いコードを生成し、SOAP固有でもあります。
必死になって、私はプロトバッファの代替シリアル化フォーマットも検討し始めました。これは存在しますが、Javaの場合のみです。プロトコルバッファがXMLよりもサポートされているデータ交換形式の方が優れているように思われることに本当に驚いています。
私はこのアプリのライブラリを見つけるだけで怒ってしまいます。本当にいくつかの新しいアイデアが必要です。誰?