Завдання та передумови
Вибрати повторювані елементи XML, використати атрибут id як код і записати каталог в Excel.
Приклад містить навчальні дані та налаштування. Виберіть власні тестові джерела й підключення замість ідентифікаторів demo_*, відтворіть очікуваний результат і лише потім використовуйте робочі об’єкти.
Навчальні вхідні дані
<catalog><item id="T01"><name>Tea</name><unit>pack</unit></item><item id="C01"><name>Coffee</name><unit>bag</unit></item></catalog>Блоки, зв’язки й точні налаштування
Топологія прикладу 04: 3 блоки, 2 зв’язки. Збережено ідентифікатори вузлів і порти налаштованого графа.
Додайте наведені блоки в конструктор, відкрийте властивості кожного й установіть такі значення. Назви demo_* позначають навчальні джерела та підключення.
| Блок | Налаштування |
|---|---|
| 1 Файл src |
|
| 2 Мапінг колонок map |
|
| 3 Вивантаження даних out |
|
Зв’язки портів
- src
out→ mapin - map
out→ outin
Повна конфігурація графа JSON
{
"version": 3,
"nodes": [
{
"id": "src",
"type": "file",
"label": "src",
"config": {
"role": "source",
"source_id": "demo_catalog_xml",
"options": {
"xml_path": "./item",
"range": "A1:C3",
"header": true
}
}
},
{
"id": "map",
"type": "mapping",
"label": "map",
"config": {
"mode": "columns",
"columns": [
{
"name": "ProductCode",
"value": "@id"
},
{
"name": "ProductName",
"value": "name"
},
{
"name": "Unit",
"value": "unit"
}
]
}
},
{
"id": "out",
"type": "export",
"label": "out",
"config": {
"format": "xlsx",
"filename": "catalog",
"destination": "download",
"delimiter": ";",
"timezone": "Europe/Kyiv"
}
}
],
"edges": [
{
"source": "src",
"target": "map",
"source_port": "out",
"target_port": "in"
},
{
"source": "map",
"target": "out",
"source_port": "out",
"target_port": "in"
}
]
}Очікуваний результат
| ProductCode | ProductName | Unit |
|---|---|---|
| T01 | Tea | pack |
| C01 | Coffee | bag |
Запуск і перевірка
- Завантажте XML як catalog.xml. Виберіть шлях ./item від кореня catalog.
- Перевірте доступні поля в джерелі: @id, name, unit.
- Виконайте потік; у catalog.xlsx мають бути 2 товари й 3 колонки.
Типові помилки
- Атрибут id доступний як @id, а не id.
- Шлях ./catalog/item зайвий, якщо catalog уже є коренем документа.
- Повторювані вкладені теги можуть утворювати складні значення; цей приклад свідомо використовує прості елементи.