【问题标题】:Can't access some items in XML using Azure Logic App无法使用 Azure 逻辑应用访问 XML 中的某些项目
【发布时间】:2020-06-08 04:18:02
【问题描述】:

我一直在尝试使用给定结构解析 XML,然后使用 Azure Logic App 将所有数据加载到数据库中。 我读到您需要将 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 为空。我需要将所有位置及其相关值保存到数据库中。 有人可以帮忙吗? 谢谢!

【问题讨论】:

  • 现在有更新吗?

标签: json xml azure azure-logic-apps


【解决方案1】:

你没有展示你用什么表达式来获取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 action 来解析 json,然后你就可以得到动态的内容了。

【讨论】:

    猜你喜欢
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    相关资源
    最近更新 更多