azure-logic-apps - 合并/合并 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>
我们如何总是为特定节点取非空值?
解决方案
您可以将您的 xml 转换为 json 并在逻辑应用程序中使用“If”条件来合并两个 xml 文件。下面是我的逻辑应用程序的整个屏幕截图。
细节:
首先,我将两个 xml 文件上传到天蓝色存储 blob,并通过“获取 blob 内容”操作将它们放入逻辑应用程序中。然后我初始化一个名为“jsonPersonString1”的变量并使用表达式将blob内容转换为json,然后使用“Parse JSON”动作来解析它。(我在下面发布截图)
其次,请执行与上述相同的步骤,将第二个 xml 文件转换为 json 并解析它。(也发布下面的屏幕截图)
之后,创建一个“If”条件来判断我们应该使用哪个值并将输出设置为变量“result”。这里我只是对属性“颜色”进行操作,您也可以对其他属性进行相同的操作。
希望对你的问题有所帮助~
推荐阅读
- flutter - flutter --flow-control-collections 是必需的,但它们是吗?
- flutter - 扑动应用内购买自动更新订阅
- sql - 将字符串与具有子字符串属性的 ActiveRecord 对象匹配
- javascript - 如何使用另一个数组过滤数组
- python - 正则表达式未从推文中删除 URL
- java - 忽略 @JsonValue 注释而不进行子类化
- vuejs2 - 如果选择了元素,如何检查是否 v-select
- html - 从兄弟元素继承对齐方式的 div 文本
- azure-keyvault - 在 Azure Key Vault 与配置文件中存储项目
- string - 如何比较一个字符串的价值是否低于其他字符串颤动