Правило Blending Bull: Вирівняти XML-фід у таблицю#

Правило Align XML to table дає змогу змінити структуру XML-файлу на табличне подання, подібне до CSV-файлу. Воно призначене передусім для обробки джерел даних у форматі XML.

Для чого слугує правило?#

Головна мета цього правила — візуально і структурно наблизити XML-файл до формату CSV. Воно ідеально підходить для ситуацій, коли потрібно:

  • Зробити наочнішим об’ємний XML-фід.

  • Підготувати дані для систем, які краще обробляють дані рядок за рядком.

  • Застосувати правила, які на даних, структурованих за рядками, налаштовуються значно простіше.

  • Використати регулярні вирази в межах окремих позицій.

Як працює правило?#

Під час застосування цього правила Blending Bull знаходить у джерелі даних конкретний визначений елемент, який обмежує одну позицію (наприклад, <SHOPITEM>). Щойно він визначить цей тег, він забезпечить, щоб кожна окрема позиція була в одному рядку.

Отже, цим правилом Blending Bull видаляє розриви рядків, деякі пробільні символи і додає нові розриви рядків. Однак він не зважає на вміст рядків, а тому не гарантує і порядку елементів в окремих рядках. За потреби це потрібно налаштувати іншими правилами.

Приклад роботи правила#

Джерело даних (XML):

<SHOPITEM>

    <ITEM_ID>1</ITEM_ID>

    <PRODUCTNAME>Біла чашка Karel</PRODUCTNAME>

    <PRICE_VAT>123</PRICE_VAT>

</SHOPITEM>

<SHOPITEM>

    <ITEM_ID>2</ITEM_ID>

    <PRODUCTNAME>Біла чашка Maruška</PRODUCTNAME>

    <PRICE_VAT>456</PRICE_VAT>

</SHOPITEM>

Під час налаштування правила Align XML to table ми вводимо елемент <SHOPITEM> як той, що обмежує одну позицію. Після застосування правила вихідний файл виглядатиме так:

<SHOPITEM><ITEM_ID>1</ITEM_ID><PRODUCTNAME>Біла чашка Karel</PRODUCTNAME><PRICE_VAT>123</PRICE_VAT></SHOPITEM>
<SHOPITEM><ITEM_ID>2</ITEM_ID><PRODUCTNAME>Біла чашка Maruška</PRODUCTNAME><PRICE_VAT>456</PRICE_VAT></SHOPITEM>

Кожна позиція (<SHOPITEM>) — в окремому власному рядку.

Як налаштувати правило?#

  • В інтерфейсі вибраного файлу на вкладці Edit file натисніть кнопку Create new rule.

  • Заповніть Name правила.

  • Як Rule type виберіть Align XML to table.

  • Заповніть назву елемента, який позначає одну позицію у фіді (наприклад, SHOPITEM).

  • Натисніть Save. Після перегенерування ви побачите в попередньому перегляді даних у правій частині екрана, що кожна позиція в одному рядку.

Приклади використання#

  • Правило дає змогу зручно працювати з регулярними виразами всередині окремих позицій. Наприклад, додавати нові елементи, розділяти елементи з параметрами на кілька елементів, видаляти частини даних тощо, що саме пробільні символи і розриви рядків у XML-розмітці ускладнюють.

  • Після вирівнювання даних у таблицю значно простіше застосовувати інші правила, як-от Delete line containing text або Delete empty lines.

Часті запитання#

Для чого слугує правило Align XML to table? #

Переносить кожну позицію XML-фіду в окремий рядок, завдяки чому структурно наближає XML-файл до формату CSV. Результат потім виглядає як таблиця, де кожен рядок відповідає одній позиції.

Для якого формату даних призначене правило?#

Правило призначене передусім для джерел даних у форматі XML. На інші формати, як-от CSV або JSON, воно не поширюється.

Що саме правило зробить із файлом?#

Видалить розриви рядків і деякі пробільні символи всередині кожної позиції та додасть нові розриви рядків так, щоб кожна позиція була в одному рядку. Вміст окремих елементів воно ніяк не змінює.

Чи гарантує правило порядок елементів у рядку?#

Ні. Правило не гарантує порядку елементів в окремих рядках. Якщо вам потрібен конкретний порядок, його потрібно налаштувати за допомогою інших правил.

Який елемент вводити під час налаштування правила?#

Ви вводите назву елемента, який обмежує одну позицію у фіді, наприклад SHOPITEM. Blending Bull потім забезпечить, щоб кожне входження цього елемента було в окремому рядку.

Чому вирівнювання в таблицю корисне?#

Після вирівнювання кожна позиція в одному рядку, що значно спрощує роботу з іншими правилами. Простіше налаштовуються регулярні вирази, спрямовані на вміст окремих позицій, і надійніше працюють правила на рівні цілих рядків — наприклад, Delete line containing text або Delete empty lines.

Де в Blending Bull налаштувати правило?#

В інтерфейсі вибраного файлу перейдіть на вкладку Edit file, натисніть Create new rule, як тип виберіть Align XML to table, введіть назву елемента, що обмежує одну позицію, і збережіть.

Чи була ця стаття корисною?