繁体   English   中英

无法使用 Azure 逻辑应用访问 XML 中的某些项目

[英]Can't access some items in XML using Azure Logic App

我一直在尝试使用给定的结构解析 XML,然后使用 Azure 逻辑应用程序将所有数据加载到数据库中。 我读到您需要将 XML 转换为 JSON 才能执行任何操作,但是我在从 XML 访问某些项目时遇到了问题。 这是一个具有相似结构的 XML 来获得这个想法。

<?xml version="1.0" encoding="utf-8"?>
<Schedule>
  <ID>449c</ID>
  <TimeSeries>
    <ID>34244</ID>
    <version>1</version>
    <domain>bb</domain>
    <Period>
      <timeInterval>
        <start>2020-02-12T23:00Z</start>
        <end>2020-02-13T23:00Z</end>
      </timeInterval>
      <Point>
        <position>1</position>
        <quantity>0</quantity>
      </Point>
      <Point>
        <position>2</position>
        <quantity>0</quantity>
      </Point>
      <Point>
        <position>3</position>
        <quantity>0</quantity>
      </Point>
      <Point>
        <position>4</position>
        <quantity>0</quantity>
      </Point>
      <Point>
        <position>5</position>
        <quantity>0</quantity>
      </Point>
      <Point>
        <position>6</position>
        <quantity>290.8</quantity>
      </Point>
    </Period>
  </TimeSeries>
  <TimeSeries>
    <ID>34245</ID>
    <domain>aa</domain>
    <version>1</version>
    <Period>
      <timeInterval>
        <start>2020-02-12T23:00Z</start>
        <end>2020-02-13T23:00Z</end>
      </timeInterval>
      <Point>
        <position>1</position>
        <quantity>0</quantity>
      </Point>
      <Point>
        <position>2</position>
        <quantity>0</quantity>
      </Point>
      <Point>
        <position>3</position>
        <quantity>30</quantity>
      </Point>
      <Point>
        <position>4</position>
        <quantity>0</quantity>
      </Point>
      <Point>
        <position>5</position>
        <quantity>890</quantity>
      </Point>
      <Point>
        <position>6</position>
        <quantity>0</quantity>
      </Point>
    </Period>
  </TimeSeries></Schedule>

我能够将它转换为 JSON 然后解析它,但它说 TimeSeries 为空。 我需要将所有位置及其关联值保存到数据库中。 有人可以帮忙吗? 谢谢!

你没有展示你用来获取TimeSeries值的表达式,我将在我的测试中展示如何获取 json 数据。

首先我使用blob来获取xml文件内容,解析为json。 我使用json(xml(body('Get_blob_content')))将 xml 解析为 json。 然后使用outputs('compose')['Schedule']['TimeSeries']来获取数组值。

在此处输入图片说明

在此处输入图片说明

如果您想获得更具体的值,表达式将类似于outputs('compose')['Schedule']['TimeSeries'][0]['Period']['timeInterval']['start']

在此处输入图片说明

而且如果你的数据格式是固定的,你可以使用 parse json 动作来解析 json,然后你就可以得到动态内容。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM