2020-07-12
43319
48
1719
5 мин.


Настройка загрузки товаров из прайса в формате 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 без пространства имён

Как получить значение из списка тегов определённого значения
Например требуется получить количество товара только на складе Москва, поставщик предоставляет данные о количестве товара на разных складах в таком виде

Для этого необходимо указать в адресе
//x:Locations/x:QuantityLocation[x:Location="Москва"]/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


Парсер hotline



Сохрани ссылку на эту статью


Далее