Как преобразовать XML-данные в csv в приложении Azure logic

#xml #azure #azure-logic-apps

#xml #azure #azure-logic-apps

Вопрос:

Я пытаюсь получить XML из URI ниже и преобразовать его в файл csv. Как мне сделать это с помощью приложения Azure Logic?

https://reportservices.crediblebh.com/reports/ExportService.asmx/ExportXML?connection=Y !KcFwIoIa1BZLzJnKfEshACoW10Rtw!DmvWxFkFgsUiJmP34wHKBMB9VD1YcnuRPQewAfLGSdDOiQXdvGiURA__amp;start_date=amp;end_date=amp;custom_param1=amp;custom_param2=amp;custom_param3=

Шаг 1 в моем приложении Logic — это HTTP-триггер с использованием метода GET:

HTTP-триггер с методом GET и URI, содержащим XML, который я хочу проанализировать

Когда я запускаю шаг 1, я получаю следующее:

Результат после выполнения шага 1

По сути, я хочу проанализировать тело HTTP-триггера (шаг 1) в файл csv. Другими словами, я хочу преобразовать это:

 <?xml version="1.0" encoding="utf-8"?>
<string xmlns="https://www.crediblebh.com/">amp;<NewDataSetamp;>
  amp;<Tableamp;>
    amp;<client_idamp;>-99999amp;</client_idamp;>
    amp;<clientprogramscountamp;>80066amp;</clientprogramscountamp;>
    amp;<teamclientcountamp;>68247amp;</teamclientcountamp;>
    amp;<employeeclientscountamp;>40415amp;</employeeclientscountamp;>
    amp;<questioncountamp;>190954amp;</questioncountamp;>
    amp;<answercountamp;>463010amp;</answercountamp;>
    amp;<delvisitcountamp;>7484amp;</delvisitcountamp;>
    amp;<savedvisitanswercountamp;>6950104amp;</savedvisitanswercountamp;>
    amp;<cntclientsextamp;>60330amp;</cntclientsextamp;>
    amp;<cntclientepisodeamp;>68069amp;</cntclientepisodeamp;>
    amp;<cntclientvisitamp;>487500amp;</cntclientvisitamp;>
    amp;<cntchangelogamp;>13231067amp;</cntchangelogamp;>
    amp;<cntchangelogdetailamp;>1272642amp;</cntchangelogdetailamp;>
    amp;<cntclientvisitapprovalamp;>29540amp;</cntclientvisitapprovalamp;>
  amp;</Tableamp;>
amp;</NewDataSetamp;></string>
 

в следующий csv:

client_id,clientprogramscount,teamclientcount,employeeclientscount,questioncount,answercount,delvisitcount,savedvisitanswercount,cntclientsext,cntclientepisode,cntclientvisit,cntchangelog,cntchangelog,cntchangelogdetail, одобрение cntclientvisit -99999,80066,68247,40415,190954,463010,7484,6950104,60330,68069,487500,13231067,13231067,1272642,29540

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

Заранее спасибо за вашу помощь!

Комментарии:

1. Прежде всего, добро пожаловать в Stackoverflow. Было бы неплохо, если бы вы могли немного уточнить свой вопрос. Например, изображение отсутствует. Также, насколько мне известно, нет бесплатного конвертера XML в CSV. Доступно несколько платных программ. Лучшее, что вы можете сделать, это написать пользовательскую функцию Azure для преобразования XML в CSV.

2. @TikluGanguly Привет, Тиклу, спасибо за ваш отзыв! Я попытался вставить реальные изображения в свой пост, но я продолжаю получать сообщение о том, что у меня недостаточно очков репутации для этого, поэтому мне пока приходится использовать ссылки на изображения. Я также внес некоторые правки в свой пост, чтобы прояснить проблему. Пожалуйста, дайте мне знать, если это поможет. Спасибо!

Ответ №1:

Многие из вас хотят использовать действие «Кодирование плоского файла» в приложении Logic.

Для этого вам следует создать схему, которая будет отображать поля XML в требуемый формат CSV -> поместите эту схему в учетную запись интеграции -> используйте эту схему в действии «Кодирование плоского файла» в приложении Logic для преобразования данных XML в формат CSV. Взгляните на это Кодирование и декодирование плоских файлов в приложениях Azure Logic с помощью пакета корпоративной интеграции

Если опция учетной записи интеграции кажется дорогостоящей, используйте пользовательскую функцию Azure, которая выполняет работу схемы (XML-> CSV), и используйте действие функции Azure в приложении Logic.