如何在 Azure 中将 xml 数据转换为 csv/excel/table

How to convert xml data into csv/excel/table in Azure

我们需要在 Azure 云中将 XML 数据转换为 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,或者你认为 Azure 可能是你自己的解决方案。还有这个 XML 是从哪里来的?它看起来像一个 SOAP 请求。

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

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

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

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

你可以这样试试,先convert xml to json然后用create csv table动作来实现。下面是我的测试流程。

我使用 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 和值,ProjectID 值应为 item()['ns2:fileName']ProjectDescription 应为 item()['ns2:alias']

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