2015-07-20 138 views
1

对于像交易捕获报告这样的quickfixj消息,它有时可能具有嵌套重复组。看看他们文档第10页上的纽约证券交易所交易捕获报告信息:https://www.nyse.com/publicdocs/nyse/markets/nyse/NYSE_TRF_Messaging_Spec.pdf如何在quickfixj消息中获得重复组

说如果需要获得partyID(448),partyIDSource(447)和partyRole(452),如何使用Java和QuickFixJ java api

+0

您是否阅读过文档? http://quickfixj.org/quickfixj/usermanual/1.5.3/usage/repeating_groups.html –

+0

阅读完文档后,如果您仍然需要帮助,请提出一个更好的信息。 –

+0

我读了文件..它告诉你如何得到重复不如何得到嵌套重复组 –

回答

2

获取第二级嵌套与获得第一级组没有太大区别。

我没有阅读过您的纽约证券交易所文件,但我认为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... 
+0

是否有一种方法编程设置组,而不做1,2等。 – Crt

+0

使用循环并递增int变量。 (这个答案很明显,我不知道我是否误解了你的问题。) –

+0

你怎么知道有多少组? – Crt