首页 > 解决方案 > 如何在 Azure 中将 xml 数据转换为 csv/excel/table

问题描述

我们需要将 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>

预期输出:

输出

谁可以帮我这个事。

标签: azureazure-functionsazure-logic-appsazure-data-factory-2azure-databricks

解决方案


您可以尝试这种方式,首先将 xml 转换为 json ,然后使用 create csv table 操作来实现它。以下是我的测试流程。

在此处输入图像描述

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

最后一件事是自定义标题和值,ProjectID值应该是item()['ns2:fileName']ProjectDescription应该是item()['ns2:alias']

这是流输出,假设这是您想要的,希望这可以帮助您。

在此处输入图像描述


推荐阅读