【问题标题】:formatting a FIX message to a c++ struct or classe将 FIX 消息格式化为 c++ 结构或类
【发布时间】:2012-04-17 12:57:30
【问题描述】:

说我想以 XML 形式(不是 FIXML!)对收到的修复消息进行格式化,但有点像规范描述,例如

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

在我的输出中,我需要一个 c++ 结构或一个名为 HeartbeatMsg 的类,其属性是它自己的字段。

因此,在解析了我的 XML 文件之后,我想将这些消息解析为一个对象,稍后我可以通过打印机或格式化类调用该对象,这些类将我的消息对象写入文件中。

所以我认为我想实例化的这个消息对象也许我可以将它创建为一个继承自 QuickFix 库中消息类的新类,所以我的问题是:

我可以吗?因为我阅读了 QuickFix 消息,它加载了一些函数,这些函数不仅可以用于描述消息,还可以用于提取、序列化它 从流输入。

所以虽然我的需求远非如此,但我仍然可以使用这个类进行简单的格式化吗?

【问题讨论】:

  • 所以!根本没有答案!这不值得问或什么!

标签: c++ xml quickfix fix-protocol


【解决方案1】:

您可以使用 Quickfix 库将您从 XML 中获得的内容解析为 FIX 对象。但它会做两次工作。 2个可以做的地方

当您接收并处理要使用的 XML 消息时,您可以作为并发作业使用 Quickfix 库创建 FIX 消息。但这肯定会减慢原始申请的处理速度。

当您处理 XML 消息并将其转换为您的代码可以理解的格式时,存储您创建的对象并从中创建 FIX 消息,作为完全独立于原始应用程序的辅助任务。这样,您的原始应用程序将按原样运行,并且不关心 FIX 消息的创建。但是您可能必须将对象复制到可以开始创建 FIX 消息的位置。

两者都需要您的原始 API 和 Quickfix 库的组合。所以在集成它们时要小心。

【讨论】:

  • 对不起,我似乎没有真正得到答案!
  • @Glolita - 我的意思是在解析 XML 消息时使用 Quickfix 创建 FIX 消息(Quickfix 类对象)。我相信你解析你的 XML 消息来做一些操作。这是选项之一。
  • 是的,这是我最初打算做的,但是在我的 xml 文件中有更多信息,所以我想我会创建一个新类,在其中添加这些新成员,它将派生也来自 XML 消息类。
  • @Glolita - 是的,对于对象创建,您可以使用现有的 Quickfix 类。要使用 XML 中的额外信息,您可以从 Quickfix 类继承并插入额外的细节。
猜你喜欢
  • 2014-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-27
  • 2015-07-28
  • 2019-02-21
  • 1970-01-01
  • 2022-01-19
相关资源
最近更新 更多