如何在 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 逻辑应用程序。它提供了许多“无代码”解决方案来插入可以转换和保存数据的连接器。
如果您详细说明您的情况,我很乐意提供进一步的解决方案
你可以这样试试,先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']
。
这是流输出,假设这就是你想要的,希望这对你有所帮助。
我们需要在 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 逻辑应用程序。它提供了许多“无代码”解决方案来插入可以转换和保存数据的连接器。
如果您详细说明您的情况,我很乐意提供进一步的解决方案
你可以这样试试,先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']
。
这是流输出,假设这就是你想要的,希望这对你有所帮助。