【问题标题】:azure logic app how to change data in xml doc天蓝色逻辑应用程序如何更改 xml doc 中的数据
【发布时间】:2018-07-25 09:51:33
【问题描述】:

学习天蓝色逻辑应用程序...我使用“转换 XML”成功解码了 X12 EDI 消息。问题是我需要在生成的 XML 中更改元素数据(在映射之后)。 例如,XML 元素“ISA06”将数据从“DNE”更改为“ABC”。

如何解析 XML 文档、查找元素并更改其值?

非常感谢您的洞察力。

【问题讨论】:

    标签: xml azure-logic-apps edi x12


    【解决方案1】:

    以防万一有人好奇,在逻辑应用程序中,我发现了一个“数据操作”连接器,其中包含“撰写”、“解析”和“转换”操作。 本质上,消息被转换为 JSON 对象进行操作。

    我获取了原始消息,将其组合成 json 并对其进行解析……解码后的 XML X12 820 消息也是如此。这为每条消息创建了动态元素,允许我使用“转换”重新创建解码后的 XML X12 820 消息和更新的数据。

    如果有人有更优雅的解决方案,请提供见解... 我仍然想只通过 XML 来做到这一点。 ...因为解析消息需要手动为每条消息创建 JSON 模式。

    【讨论】:

    • 您还可以使用 Azure 集成帐户。这允许您使用 XSLT 构建地图。因此,此时无需转换为 json。您可以只使用一个转换操作,将您的 EDI 消息的 XML 输入提供给它,然后在 XML 上应用一个 XSLT 转换。输出将再次具有 XML 内容类型。
    • 是的。我使用 XSLT 进行转换操作。问题:是否可以使用具有 2 个输入模式的 XSLT 映射?我遇到的问题是第一个映射有效,但我想在新映射中使用结果......所以我需要在转换中输入 2 个模式?我知道我遗漏了一些明显的东西......赞赏
    • 在 BizTalk 中,使用该地图是可能的,但我不知道逻辑应用程序的转换组件中是否允许两个实例,让我调查一下
    • @Chappy 如果您需要多个输入模式,这只是意味着您需要另一个带有单个输入的转换
    【解决方案2】:

    最简单的方法是在 BizTalk 中使用 XSLT 映射。您可以通过 Microsoft Azure Logic Apps Enterprise Integration Tools for Visual Studio 2015 2.0 在 Visual Studio 中开发地图,然后您可以将地图添加到您的 Azure 企业集成帐户中,请参阅https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/logic-apps/logic-apps-enterprise-integration-maps.md

    【讨论】:

    • 谢谢。我已经利用了 XSLT。问题是映射转换后,我需要用其他来源的其他数据修改结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 2016-03-25
    相关资源
    最近更新 更多