Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Если у вас файл XML “плоской” структуры, т.е. в нем есть только уровень товаров и их перечисление, то открывать его лучше с помощью Excel по этой инструкции Импорт XML через Excel

Если у вас файл в формате YML (яндекс.маркет), пусть даже расширение у него и XML, то загружать его нужно так Импорт YML

Если файл большой и не открывается через Excel, либо сложной древовидной структуры, то для его загрузки вы можете преобразовать его в CSV или Excel с помощью действия Quad.Magic “Конвертировать XML в CSV/XLSX”.

...

В Настройка 3 указываются настройки конвертации.

Первая строка - параметры конвертации, перечисляются просто в строке, если нужно. Могут быть следующие параметры:

...

ansi - указать, если исходный файл XML в кодировке ANSI (обычной Windows)

Вторая строка - указывается тег, с которого в XML начинается блок, содержащий 1 товар.

Третья строка - указывается тег, которым в XML заканчивается блок, содержащий 1 товар.

...

Каждое поле с новой строки. Параметры поля разделены символом вертикальной черты, может быть 7 параметров.

Остатки|Склад ИдСклада="|"|0|Склады|КоличествоНаСкладе="|"

Параметр 1(в примере выше Остатки) - название колонки в файле CSV, в которую будет помещено значение этого поля.

Параметр 2 (в примере выше Склад ИдСклада=") - текст из файла XML, ПОСЛЕ которого нужно взять значение поля

Параметр 3 (в примере выше ") - текст из файла XML, ДО которого берется значение поля.

Т.е. для значения поля вырезается значение, которое находится между текстом из Параметров 2 и 3.

...

Note

Если необходимо ввести в параметры 2,3,6 или 7 текст, который начинается или заканчивается пробелом, то вместо этого пробела нужно указать [spc], например

Остатки|Склад ИдСклада=[spc]|[spc]

Если введены теги в параметр 2 и 3, которым соответствует несколько значений в блоке с товаром, то будут сохранены эти несколько значений с разделителем | (вертикальная черта)

...

Code Block
breakoutModewide
languagejava
/10/img_rd10176_0.jpg|/10/img_rd10176_1.jpg|/10/img_rd10176_2.jpg|/10/img_rd10176_3.jpg|/10/img_rd10176_4.jpg|/10/img_rd10176_5.jpg

Для загрузки достаточно указать первые 3 параметра.

Параметр 4 (в примере выше 0) - здесь можно указать, какой по порядку текст нужно сохранить в поле в случае, когда по введенным в п. 2 и 3 тегам находится несколько значений. Если указать 2, то в примере выше загрузилась бы только одна ссылка, вторая по счету /10/img_rd10176_1.jpg

Если нужно указать еще параметры 5 или 6 и 7, при этом нужно загружать все значение, то в Параметр 4 указывается 0.

Параметр 5 (в примере выше Склады) - здесь указывается текст, к которому нужно перейти в блоке товаров, перед тем как искать теги для получения значений параметров. Использовать нужно в случаях, когда в файле XML для товара может быть несколько вложенных тегов с одинаковым названием, но относящихся к разным вышестоящим тегам. Например:

...

Чтобы получить значение второй цены, нужно сначала перейти к тексту “Цена 2”, а уже после этого брать значение между текстом <ЦенаЗаЕдиницу> и </ЦенаЗаЕдиницу>

...

Параметры 6 и 7 - используется в случае, если нужно сохранять “множественные” данные. Например такой файл:

...

В нем содержится информация по складам, при этом для каждого склада указан его Код и Остаток и нам необходимо сохранить и код и остаток. В этом случае в параметрах 2 и 3 вводится текст, между которым находится значение ИД склада, а в параметры 6 и 7 текст, между которым находится значение остатка склада. Для примера выше:

Остатки|Склад ИдСклада="|"|0|Склады|КоличествоНаСкладе="|"

Результат в ячейку сохраняется в формате JSON. Это массив значений, в котором текст между тегами 2 и 3 записывается в ключ “key”, в текст между тегами 6 и 7 записывается в ключ “value”

...

Note

Таким способом для одного объекта можно сохранить только 2 вида информации, key (между 2 и 3) и value (между 6 и 7). Т.е. 3 и больше значений из 1 строки сохранить не получится.

Текст целиком сохраняется в одно поле. Дальше вы его можете выгрузить через экспорт из программы, либо можно использовать в программе в запросах SQL.

Пример 1

Настройки для загрузки цен и остатков из файла формата Commerce ML (offers.xml)

Code Block
utf8 xlsx               
<Предложение>
</Предложение>   
Код|<Ид>|</Ид>
Наименование|<Наименование>|</Наименование>
Цена|<ЦенаЗаЕдиницу>|</ЦенаЗаЕдиницу>|0|Цена 2 
Валюта|<Валюта>|</Валюта>   
Количество|<Количество>|</Количество>
Остатки|Склад ИдСклада="|"|0|Склады|КоличествоНаСкладе="|"    

Результат:

...