Каталоги поставщиков

Как вытащить цвет из YML param name="Цвет"

2026-06-29
Задача

В YML характеристики товара лежат в повторяющихся param: Цвет, Материал и другие. Для импорта нужно отдельное поле цвета.

Короткий ответ

Откройте значение param и добавьте условие по атрибуту @name: регулярное выражение ^Цвет$ (находит значение, которое целиком равно Цвет).

Как сделать в Eofferix

  1. В XML/YML-снапшоте выберите значение param.

  2. Откройте настройки значения.

    Открытие настроек значения
    Анимация показывает открытие настроек конкретного значения.
  3. Добавьте условие экспорта по @name: @name ^Цвет$.

    Условие значения
    Так Eofferix берет значение только из нужного повторяющегося блока.

Было / стало

Было

исходные данные
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-11001"><name>Лампа Ладога</name><param name="Цвет">белый</param><param name="Материал">сталь</param></offer>
      <offer id="YML-11002"><name>Кресло Волга</name><param name="Цвет">черный</param><param name="Материал">дерево</param></offer>
    </offers>
  </shop>
</yml_catalog>

Стало

результат
<offers>
  <offer id="YML-11001"><name>Лампа Ладога</name><color>белый</color></offer>
  <offer id="YML-11002"><name>Кресло Волга</name><color>черный</color></offer>
</offers>

Что важно помнить

  • Условие нужно ставить на значение param, а не на весь offer, иначе вы отфильтруете товары вместо выбора характеристики.
  • Если поставщик пишет color или Цвет товара, замените регулярное выражение на фактическое название.

Обрабатывайте данные быстрее с Eofferix

Создайте бесплатный аккаунт, чтобы автоматизировать каталоги и прайс-листы под ваши правила.

Зарегистрироваться