Настройка загрузки товаров из прайса в формате XML - Яндекс Маркет YML
Если контрагент предоставляет прайс-лист в формате YML, то для этого формата файла столбцы могут быть определены автоматически. Из файла будут загружены категории, товары, цены, описания, атрибуты и фото.
Ручная настройка загрузки данных из XML
Бывают случаи, когда файл XML не в формате YML или требуется ручная настройка для того, чтобы к примеру, загрузить данные из нужного тега в нужный столбец программы. Это может быть атрибут товара, который необходимо загрузить к примеру в поле "Артикул производителя".
Для этого необходимо включить ручной режим настройки файла XML, переоткрыть окно для обновления вида, после чего перейти в "Адреса столбцов" для начала ручной настройки.
Для загрузки фото и атрибутов товаров необходимо указать ID товара из прайс-листа, чтобы установить связь. Для этого добавить 2 поля:
- "Код товара (строка UUID)" и указать название тега [id]
- "Код категории (строка UUID)" и указать название тега categoryId
Затем прописать теги в адреса столбцов
Чтобы загрузить данные из атрибутов (свойств, параметров, характеристик) из файла в нужное Вам поле необходимо использовать такой синтаксис:
param[@name='XXX'], где XXX это название атрибута из файла в указанном теге
<param name='Название'>значение<
param>
Для загрузки фото и атрибутов используются теги формата YML. Для атрибутов это param, для фото picture, их прописывать не нужно где либо, но если в прайсе будут другие названия, то нужно будет их вписать вот сюда
После настройки всех необходимых полей для загрузки, нужно нажать кнопку "Загрузить данные".
Как видим загрузились данные о категориях, фото, описания.
Информация об атрибутах загрузилась в соответсвующий раздел и артикул, который мы брали из атрибута попал в стандартное поле "Артикул проивзодителя"
Настройка получения значений из вложенных тегов
Например в прайс-листе XML от поставщика OCS есть такая структура вложенности тегов, задача получить значение из тега Location
Для этого необходимо указать в адресе
//Locations/QuantityLocation/Location
Внимание! Если в файле XML указано пространство имён (namespace)
Тогда необходимо использовать такой вид (добавить x:)
//x:Locations/x:QuantityLocation/x:Location
Вид XML без пространства имён
Как получить значение из списка тегов определённого значения
Например требуется получить количество товара только на складе Kiev, поставщик предоставляет данные о количестве товара на разных складах в таком виде
Для этого необходимо указать в адресе
//x:Locations/x:QuantityLocation[x:Location="Kiev"]/x:Quantity
Как получить все значение определённого тега
Например требуется получить список всех размеров
Для этого необходимо указать в адресе
//product_sizes/size
после загрузи товаров из прайса в указанном поле будут сохранены все значения перечисленные через разделитель запятая.
Если требуется получить значение по порядку следования
//product_sizes/size[1]
результат: S
//product_sizes/size[2]
результат: M
Как получить значение параметра
Параметр code для получения значения red используйте такое выражение
//product_colors/color/@code
Как получить значение одгого параметра на основании названия другого
Пример, требуется получить код валюты для строки в которой name равно price_supervip
//param[@name="price_supervip"]/@unit