当结果集在逻辑应用中只有一条记录时,foreach 不支持

Foreach not supporting when the result set has one record in logic apps

我必须从 XML 读取数据并将其加载到 SQL。所以在中间我需要为我在逻辑应用程序中用于每个任务的每条记录添加一些业务逻辑。但是当 XML 中只有一条记录时,结果被视为对象而不是数组,逻辑应用程序失败

这是我的 XML 的样子:

<VDSP_INPUT_A_Set><VDSP_INPUT_A_Record><head><blanket_number>CMC741311</blanket_number></head></VDSP_INPUT_A_Record></VDSP_INPUT_A_Set>

ForEach 逻辑:VDSP_INPUT_A_Set.VDSP_INPUT_A_Record

即使XML

中只有一条记录也需要执行foreach循环

对于这个问题,我做了一些研究。我将 xml 转换为 json,而 下只有一条记录,结果 json 将是 {key/value pair} 而不是 [array]。所以如果我们用这个值填充 For each ,动作就会失败。我认为这个问题是由设计引起的。

对于解决方法,我认为我们可以在 下添加特定记录,例如:

<VDSP_INPUT_A_Set>
    <VDSP_INPUT_A_Record>
        <head>
            <blanket_number>CMC741311</blanket_number>
        </head>
        <head>
            <blanket_number>specific_test</blanket_number>
        </head>
    </VDSP_INPUT_A_Record>
</VDSP_INPUT_A_Set>

然后在For每个action中添加一个condition(If)action来判断是否等于"specific_test".

如果为真:插入 sql

如果为假:什么也不做