首页 > 解决方案 > 合并/合并 xml 记录

问题描述

是否可以对具有相同架构的 2 条记录进行合并?

假设我有 2 个有效载荷,例如:

<Person>
<Color></Color>
<First>Joe</First
<Last>Smith</Last>
<Date>1/1/2019</Date>
</Person>

和这个:

<Person>
<Color>Blue</Color>
<First></First
<Last>Smith</Last>
<Date></Date>
</Person>

预期结果:

<Person>
<Color>Blue</Color>
<First>Joe</First
<Last>Smith</Last>
<Date>1/1/2019</Date>
</Person>

我们如何总是为特定节点取非空值?

标签: azure-logic-apps

解决方案


您可以将您的 xml 转换为 json 并在逻辑应用程序中使用“If”条件来合并两个 xml 文件。下面是我的逻辑应用程序的整个屏幕截图。 在此处输入图像描述

细节:

首先,我将两个 xml 文件上传到天蓝色存储 blob,并通过“获取 blob 内容”操作将它们放入逻辑应用程序中。然后我初始化一个名为“jsonPersonString1”的变量并使用表达式将blob内容转换为json,然后使用“Parse JSON”动作来解析它。(我在下面发布截图) 在此处输入图像描述

其次,请执行与上述相同的步骤,将第二个 xml 文件转换为 json 并解析它。(也发布下面的屏幕截图) 在此处输入图像描述

然后我初始化名为“result”的变量并将其值设置为空。 在此处输入图像描述

之后,创建一个“If”条件来判断我们应该使用哪个值并将输出设置为变量“result”。这里我只是对属性“颜色”进行操作,您也可以对其他属性进行相同的操作。 在此处输入图像描述

完成“If”条件后,我们可以将json转换为xml。 在此处输入图像描述

希望对你的问题有所帮助~


推荐阅读