문자열을 MarketDatainCrementalRefresh로 변환하려고합니다
-
12-12-2019 - |
문제
Fix 메시지 (모두 및 MarketDatainCrementalRefresh (x를 입력)가있는 텍스트 파일이 있으며 C #에서 QuickFix를 사용하여 MarketDataIncrementRefresh 메시지를 문자열에서 꺼냅니다.
모든 제안?
여기에 하나의 라인이 어떻게 생겼는지의 예제는 다음과 같습니다.
1128= 9= 279= 12= 848= 812201 83= 1243518 107= GEZ2 269= 1 270= 9825.0 271== 848= 1270= 9826.0 271= 127= 9826.0 271= 453 273= 205433000 336= 2 346= 21 1023= 3 10= 058
해결책
기본적으로 이것은 그 방법입니다.
string line = sr.ReadLine();
QuickFix42.MessageFactory fac = new QuickFix42.MessageFactory();
QuickFix.MsgType msgType = QuickFix.Message.identifyType(line);
QuickFix.Message message = fac.create("", msgType.getObject() as string);
message.setString(line, false);
.
공장이 주어진 적절한 메시지 유형을 만듭니다.이 경우 type이 {x} 이었기 때문에 quickfix.message 메시지는 marketDatainCrementalRefresh의 포인터이고 message.setString은 주어진 문자열에서 나머지 소품을 설정합니다..
다른 팁
Java에서
를 사용할 수 있습니다. MessageUtils.parse(MessageFactory messageFactory, DataDictionary dataDictionary, java.lang.String messageString)
메시지 객체 자체의 여기를 참조하십시오 생성자를 사용하여
Message(java.lang.String string, DataDictionary dd, boolean validate)
.
또는 fromString 방법 :
fromString(java.lang.String messageData, DataDictionary sessionDictionary, DataDictionary applicationDictionary, boolean doValidation)
.
QuickFix / n
에 대해 비슷한 것을 찾을 수 있어야합니다.나는 이 이 빌드만을 만드는 것을 발견했습니다.생성자를 사용하여 문자열의 메시지입니다.선택한 API에서 위의 해당 요소를 찾을 수 없으면이 문제가 작동하지 않아도됩니다.