我想从单个 XML 输入消息中获得多个输出。

<List>
<type>mailbox</type>
<Docs>
  <DocID>38ghjk</DocID>
</Docs>
<Docs>
  <DocID>39ghjk</DocID>
</Docs>

这就是我的 XML 的外观,它包含更多的 DocID。我的要求是我想要每个 DocID 的单独输出消息。我尝试使用 while 循环,但我没有为每个 DocID 收到单独的消息。我可以获取所有 DocID,但我无法获得每个 DocID 的单独输出。

请提出任何方法或解决方案来做到这一点,如有任何疑问,请发表评论。

最佳答案

DECLARE I INTEGER;
DECLARE J INTEGER;
SET J = CARDINALITY(InputRoot.XMLNSC.List.Docs[]);
SET I = 1;
WHILE I < J  DO
SET OutputRoot.XMLNSC.LIST.DocId[K] = InputRoot.XMLNSC.List.Docs[I].DocId;
PROPAGATE TO TERMINAL 'out' delete none;
SET I = I + 1;
END WHILE;

早些时候我没有使用传播语句,所以我得到了单个输出,但现在我得到了所有 docid 的不同输出。

关于ibm-mq - 从单个输入消息获取多个输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47921066/

10-12 14:18