对于诸如贸易捕获报告之类的quickfixj消息,它有时可能具有嵌套的重复组。在其文件的第10页上查看纽约证券交易所的交易捕获报告消息:https://www.nyse.com/publicdocs/nyse/markets/nyse/NYSE_TRF_Messaging_Spec.pdf
假设有人需要获取partyID(448),partyIDSource(447)和partyRole(452),那么如何使用Java和QuickFixJ Java API进行操作
最佳答案
获得第二级嵌套与获得第一级组没有太大不同。
我没有阅读您的NYSE文档,但我假设Parties
组位于NoSides
组的内部,就像在常规FIX44规范中一样。
此代码可能会起作用。 (我没有编译它。)我没有进行任何组计数检查,但是我想您知道那部分。
PartyID partyId = new PartyID();
// group
quickfix.fix44.TradeCaptureReport.NoSides sidesGroup =
new quickfix.fix44.TradeCaptureReport.NoSides();
// subgroup
quickfix.fix44.TradeCaptureReport.NoSides.NoPartyIDs partyIdsGroup =
new quickfix.fix44.TradeCaptureReport.NoSides.NoPartyIDs();
// get first sidesGroup
message.getGroup(1, sidesGroup);
// get first partyIdsGroup out of first sidesGroup
sidesGroup.getGroup(1, partyIdsGroup);
// do something with it...
// get second partyIdsGroup out of first sidesGroup
sidesGroup.getGroup(2, partyIdsGroup);
// do something with it...
// -----
// get second sidesGroup
message.getGroup(2, sidesGroup);
// get first partyIdsGroup out of second sidesGroup
sidesGroup.getGroup(1, partyIdsGroup);
// and so on...