2009-09-04 32 views
2

私はMingwのC++を使用しています。これはGNC C++のWindows版です。C++でのXMLシリアル化/逆シリアル化

私がしたいのは、C++オブジェクトをXMLファイルにシリアル化し、その場でXMLファイルからオブジェクトを逆シリアル化することです。私はTinyXMLをチェックする。それは非常に便利です(私はそれを誤解すれば私を修正してください)それは基本的にすべてのノードを処理中に追加し、最終的にTixmlDocument :: saveToFile(filename)関数を使用して1つのチャンク内のファイルに入れます。

私はリアルタイム処理に取り組んでいますが、その場でファイルに書き込み、次の結果をファイルに追加するにはどうすればよいですか?

ありがとうございました。

答えて

2

各TiXmlBaseクラスにはPrintメソッドがあり、ストリングやストリームへのストリーミングもサポートされています。

ドキュメントの新しい部分を順番に歩いて、追加されたときにそれらの部分を出力できますか?

それを試してみる.....

トニー

+0

Print()はうまく動作します、ありがとうTony! – Lily

2

BOOSTは非常にいいシリアライズ/デシリアライズlibにBOOST.Serializationを持っています。
オブジェクトをブーストxml archiveにストリーミングすると、オブジェクトはxml形式でストリーミングされます。 xmlを大きくするか遅くする場合は、ストリーミング形式を変更するためにアーカイブをテキストまたはバイナリアーカイブで変更するだけです。ここで

0

私は、この目的のためにgSOAPを使用してきました。 XMLシリアル化だけではあまりにも強力ですが、WSDL、SOAP、XML-RPC、およびJSONもサポートしているため、他のソリューションを検討する必要はありません。 XMLは単に一時的なワイヤフォーマットであり、DOMやメモリを大量に消費することはないため、埋め込み型デバイスや小型デバイスにも適しています。

関連する問題