0

たとえば、受信した修正メッセージを XML 形式 (FIXML ではありません!) でフォーマットしたいが、仕様の説明のようなものです。

<message name="Heartbeat" msgcat="admin" msgtype="0">
    <field name="TestReqID" required="N" /> 
</message>

私の出力には、属性が独自のフィールドである HeartbeatMsg という名前の C++ 構造体またはクラスが必要です。

そのため、XML ファイルを解析した後、メッセージ オブジェクトを取得してファイルに書き込むプリンターまたは書式設定クラスによって後で呼び出すことができるように、解析されたメッセージをオブジェクトに保存したいと考えています。

インスタンス化したいこのメッセージ オブジェクトは、QuickFix ライブラリのメッセージ クラスから継承する新しいクラスとして作成できるのではないかと考えたので、私の質問は次のとおりです。

私はそれを行うことができますか?QuickFix メッセージを読み、メッセージを記述するだけでなく、メッセージを抽出し、ストリーム入力からシリアル化するために使用できる関数が読み込まれているためです。

私のニーズはそれとはかけ離れていますが、このクラスを単純な書式設定に使用できますか。

4

1 に答える 1

1

XML から取得したものは、Quickfix ライブラリを使用して FIX オブジェクトに解析できます。しかし、それは作業を 2 回行うことになります。2 できる場所

使用する XML メッセージを受信して​​処理する場合、並行ジョブとして、Quickfix ライブラリを使用して FIX メッセージを作成できます。しかし、それでは元のアプリケーションの処理が確実に遅くなります。

XML メッセージを処理し、コードが理解できる形式に変換するときは、作成したオブジェクトを保存し、元のアプリケーションから完全に独立したサイド タスクとして FIX メッセージを作成します。そうすれば、元のアプリケーションはそのまま実行され、FIX メッセージの作成は気にしません。ただし、FIX メッセージの作成を開始できる場所にオブジェクトをコピーする必要がある場合があります。

どちらも、元の API と Quickfix ライブラリの組み合わせが必要です。したがって、それらを統合するときは注意してください。

于 2012-04-18T15:31:25.627 に答える