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

Как вытащить размер из ХарактеристикиТовара в CommerceML

2026-06-29
Задача

В CommerceML характеристики хранятся парами Наименование и Значение. Нужно получить отдельный узел <Размер>, не подмешивая Цвет, а исходный служебный блок ХарактеристикаТовара не выводить.

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

Создайте внутри Товар новый узел <Размер>, в его настройках запишите значение из Значение той характеристики, где Наименование равно Размер. Вместо регулярного выражения можно использовать Равно Размер или Содержит подстроку Размер; ^Размер$ лишь строго проверяет полное совпадение.

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

  1. Внутри повторяющегося узла Товар создайте новый дочерний узел <Размер>.

  2. Откройте настройки нового узла <Размер>.

    Открытие настроек XML-значения
    Настройки применяются к выходному узлу, который будет заполнен перед выгрузкой.
  3. Способ 1: для заполнения нового <Размер> добавьте условие по Наименование: Равно Размер.

    Условие Равно для характеристики Размер
    Так Eofferix берет значение только из характеристики с точным названием размера.
  4. Способ 2: если поставщик пишет, например, Размер одежды, используйте Наименование Содержит подстроку Размер.

    Условие Содержит подстроку для размера
    Этот вариант полезен, когда название характеристики длиннее одного слова.
  5. Способ 3: регулярное выражение ^Размер$ (находит полное совпадение с названием размера) оставьте как строгий вариант.

    Regex-условие для размера
    Регулярное выражение нужно только для строгой проверки полного совпадения.
  6. На исходном блоке ХарактеристикаТовара уберите вывод строки с размером или не выводите весь служебный блок, если он больше не нужен в результате.

Было / стало

Было

исходные данные
<КоммерческаяИнформация ВерсияСхемы="2.10">
  <Каталог>
    <Товары>
      <Товар>
        <Ид>SKU-4001</Ид>
        <Наименование>Лампа Ладога</Наименование>
        <ХарактеристикиТовара>
          <ХарактеристикаТовара>
            <Наименование>Размер</Наименование>
            <Значение>M</Значение>
          </ХарактеристикаТовара>
          <ХарактеристикаТовара>
            <Наименование>Цвет</Наименование>
            <Значение>white</Значение>
          </ХарактеристикаТовара>
        </ХарактеристикиТовара>
      </Товар>
    </Товары>
  </Каталог>
</КоммерческаяИнформация>

Стало

результат
<КоммерческаяИнформация ВерсияСхемы="2.10">
  <Каталог>
    <Товары>
      <Товар>
        <Ид>SKU-4001</Ид>
        <Наименование>Лампа Ладога</Наименование>
        <Размер>M</Размер>
      </Товар>
      <Товар>
        <Ид>SKU-4002</Ид>
        <Наименование>Кресло Волга</Наименование>
        <Размер>L</Размер>
      </Товар>
    </Товары>
  </Каталог>
</КоммерческаяИнформация>

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

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

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