首页 > 解决方案 > 如何在 Azure 逻辑应用上将 xml 数据转换为 csv

问题描述

我正在尝试从下面的 URI 中获取 XML 并将其转换为 csv 文件。如何使用 Azure Logic 应用程序执行此操作?

https://reportservices.crediblebh.com/reports/ExportService.asmx/ExportXML?connection=Y!KcFwIoIa1BZLzJnKfEshACoW10Rtw!DmvWxFkFgsUiJmP34wHKBMB9VD1YcnuRPQewAfLGSdDOiQXdvGiURA__&start_date=&end_para2=&custom_param3=

我的逻辑应用程序中的第 1 步是使用 GET 方法的 HTTP 触发器:

带有 GET 方法的 HTTP 触发器和包含我要解析的 XML 的 URI

当我运行第 1 步时,我得到以下信息:

运行步骤 1 后的结果

本质上,我想将 HTTP 触发器的正文(步骤 1)解析为 csv 文件。换句话说,我想改变这个:

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="https://www.crediblebh.com/">&lt;NewDataSet&gt;
  &lt;Table&gt;
    &lt;client_id&gt;-99999&lt;/client_id&gt;
    &lt;clientprogramscount&gt;80066&lt;/clientprogramscount&gt;
    &lt;teamclientcount&gt;68247&lt;/teamclientcount&gt;
    &lt;employeeclientscount&gt;40415&lt;/employeeclientscount&gt;
    &lt;questioncount&gt;190954&lt;/questioncount&gt;
    &lt;answercount&gt;463010&lt;/answercount&gt;
    &lt;delvisitcount&gt;7484&lt;/delvisitcount&gt;
    &lt;savedvisitanswercount&gt;6950104&lt;/savedvisitanswercount&gt;
    &lt;cntclientsext&gt;60330&lt;/cntclientsext&gt;
    &lt;cntclientepisode&gt;68069&lt;/cntclientepisode&gt;
    &lt;cntclientvisit&gt;487500&lt;/cntclientvisit&gt;
    &lt;cntchangelog&gt;13231067&lt;/cntchangelog&gt;
    &lt;cntchangelogdetail&gt;1272642&lt;/cntchangelogdetail&gt;
    &lt;cntclientvisitapproval&gt;29540&lt;/cntclientvisitapproval&gt;
  &lt;/Table&gt;
&lt;/NewDataSet&gt;</string>

进入以下csv:

client_id,clientprogramscount,teamclientcount,employeeclientscount,questioncount,answercount,delvisitcount,savedvisitanswercount,cntclientsext,cntclientepisode,cntclientvisit,cntchangelog,cntchangelog,cntchangelogdetail,cntclientvisitapproval -99999,80066,68247,40415,190954,650010,74834,65010,74834, 487500,13231067,13231067,1272642,29540

抱歉,我无法在帖子中显示实际图像,因为显然我还没有足够的声誉点来嵌入实际图像。

在此先感谢您的帮助!

标签: xmlazureazure-logic-apps

解决方案


许多人想在 Logic App 中使用“平面文件编码”操作。

为此,您应该创建一个架构,它将 XML 字段映射到您需要的 CSV 格式 -> 将该架构放在集成帐户中 -> 在逻辑应用程序的“平面文件编码”操作中使用此架构将 XML 数据转换为 CSV格式。使用 Enterprise Integration Pack查看 Azure Logic Apps 中的此Encode and decode flat files

如果集成帐户选项看起来很昂贵,请使用执行架构功能 (XML->CSV) 的自定义 Azure 函数,并在逻辑应用中使用 Azure 函数操作。


推荐阅读