【问题标题】:How to convert xml data into csv/excel/table in Azure如何在 Azure 中将 xml 数据转换为 csv/excel/table
【发布时间】:2020-02-13 16:03:48
【问题描述】:

我们需要将 XML 数据转换成 Azure 云中的 csv/excel/table。

以下是示例 xml 代码。

<SOAP-ENV:Envelope
   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

<SOAP-ENV:Body>
           <ns2:getProjectsResponse
               xmlns:ns2="http://www.logic8.com/eq/webservices/generated">
               <ns2:Project>
                   <ns2:fileName>P10001</ns2:fileName>
                   <ns2:alias>project1</ns2:alias>
               </ns2:Project>
               <ns2:Project>
                   <ns2:fileName>P10002</ns2:fileName>
                   <ns2:alias>project2</ns2:alias>
               </ns2:Project>
       <ns2:Project>
                   <ns2:fileName>P10003</ns2:fileName>
                   <ns2:alias>project3</ns2:alias>
               </ns2:Project>
           </ns2:getProjectsResponse>
       </SOAP-ENV:Body>
   </SOAP-ENV:Envelope>

预期输出:

谁能帮帮我。

【问题讨论】:

    标签: azure azure-functions azure-logic-apps azure-data-factory-2 azure-databricks


    【解决方案1】:

    您可以尝试这种方式,首先convert xml to json 然后使用create csv table action 来实现它。以下是我的测试流程。

    我使用 blob 来获取 xml 内容。 Compose 动作输入为json(xml(body('Get_blob_content'))),然后会得到json数据。然后是Create CSV table From,因为from数据应该是数组,所以应该是outputs('Compose')['SOAP-ENV:Envelope']['SOAP-ENV:Body']['ns2:getProjectsResponse']['ns2:Project']

    最后是自定义header和value,ProjectID的值应该是item()['ns2:fileName']ProjectDescription应该是item()['ns2:alias']

    这里是流输出,假设这是你想要的,希望对你有帮助。

    【讨论】:

    • 你能建议我如何在 Logic App 中从 azure data Lake gen 2 获取文件
    • 检查这个feedback,有一条评论看起来像 Blob 存储连接器可以工作。
    【解决方案2】:

    您有使用 Azure 的经验吗?我问是因为从您的问题来看,您似乎不确定从哪里开始或使用哪种服务。我也很好奇您是否被要求使用 Azure,或者您认为 Azure 可能是您自己的解决方案。还有这个 XML 是从哪里来的?它看起来像一个 SOAP 请求。

    如果您是开发人员,我会考虑在 .Net 中编写 Web 应用程序,它可以使用 MVC、Core、Web API,并使用它来处理此 SOAP 请求并翻译它并保存文件。 为此,我会考虑使用 XMLDocument 类来加载 XML 并对其进行解析。

    但是,如果您绝对需要使用 Azure,最能帮助实现自动化的是 Azure 逻辑应用。它提供了许多“无代码”解决方案来插入可以转换和保存数据的连接器。

    https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-transform#how-to-use-a-transform

    如果您详细说明您的情况,我很乐意提供进一步的解决方案

    【讨论】:

    • 是的,您是正确的,响应来自 SOAP 服务,我们通过 azure 数据工厂调用并存储在数据湖 gen2 中。现在的要求是将xml转换为azure中的表格或csv。由于数据工厂不支持xml格式的数据,我们需要一个可以转换的azure解决方案
    猜你喜欢
    • 2021-04-08
    • 2011-01-06
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2022-07-17
    • 2013-03-03
    • 1970-01-01
    • 2012-04-24
    相关资源
    最近更新 更多