Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将修复消息格式化为c++;结构或类_C++_Xml_Quickfix_Fix Protocol - Fatal编程技术网

C++ 将修复消息格式化为c++;结构或类

C++ 将修复消息格式化为c++;结构或类,c++,xml,quickfix,fix-protocol,C++,Xml,Quickfix,Fix Protocol,假设我想将收到的修复消息格式化为XML格式(不是FIXML!),但有点像规范描述,例如 <message name="Heartbeat" msgcat="admin" msgtype="0"> <field name="TestReqID" required="N" /> </message> 在输出中,我需要一个C++结构或一个名为HealBeAtMsg的属性,它的属性是它自己的字段。 因此,在解析完XML文件后,我想将解析后的消息存储到一

假设我想将收到的修复消息格式化为XML格式(不是FIXML!),但有点像规范描述,例如

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

在输出中,我需要一个C++结构或一个名为HealBeAtMsg的属性,它的属性是它自己的字段。 因此,在解析完XML文件后,我想将解析后的消息存储到一个对象中,稍后可以由打印机或格式化类调用该对象,这些打印机或格式化类接收我的消息对象并将其写入文件中

因此,我认为我想要实例化的这个消息对象可能可以创建一个新类,从QuickFix库中的消息类继承,所以我的问题是:

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


因此,尽管我的需求与此相去甚远,但我仍然可以使用这个类进行简单的格式化。

您从XML中获得的内容可以使用Quickfix库解析为修复对象。但这项工作要做两次。2个可以做到的地方

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

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


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

!根本没有答案!这不值得问什么!对不起,我似乎没有真正得到答案@Glolita—我的意思是在解析XML消息时使用Quickfix创建修复消息(Quickfix类对象)。我相信您通过解析XML消息来执行一些操作。这是选项之一。是的,这是我最初打算做的,但在我的xml文件中有更多信息,所以我想我应该创建一个新类,在其中添加这些新成员,它也将从xml消息类派生出来。@Glolita-是的,对于对象创建,您可以使用现有的Quickfix类。要使用XML中的额外信息,可以从Quickfix类继承并插入额外的详细信息。