Не удается получить доступ к некоторым элементам в XML с помощью приложения Azure Logi c - PullRequest
0 голосов
/ 24 февраля 2020

Я пытался проанализировать XML с заданной структурой и затем загрузить все данные в базу данных, используя приложение Azure Logi c. Я прочитал, что вам нужно преобразовать 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 нулевые. Мне нужно сохранить все позиции с соответствующими значениями в базе данных. Может ли кто-нибудь помочь, пожалуйста? Спасибо!

1 Ответ

0 голосов
/ 25 февраля 2020

Вы не показываете, какое выражение вы использовали для получения значения TimeSeries, в своем тесте я покажу, как получить данные json.

Сначала я использую blob для получения xml содержимое файла, синтаксический анализ json. Я использую json(xml(body('Get_blob_content'))) для анализа xml до json. Затем используйте outputs('compose')['Schedule']['TimeSeries'], чтобы получить значение массива.

enter image description here

enter image description here

И если вы Если вы хотите получить более конкретное значение c, выражение будет выглядеть следующим образом: outputs('compose')['Schedule']['TimeSeries'][0]['Period']['timeInterval']['start'].

enter image description here

И более, если ваш формат данных фиксирован, вы можно использовать действие parse json для разбора json, тогда вы сможете получить динамическое содержимое c.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...