pathologic/commerceml

CommerceML 2.0 解析库

dev-master 2024-06-17 23:46 UTC

This package is auto-updated.

Last update: 2024-09-18 00:23:09 UTC


README

关于此库

该库旨在对按照 Commerce ML 2 标准导出的 1c 文件进行流式处理。

该解析器本身是一个事件调度器,即当在 Commerce ML 2 结构中找到所需结构对象时,调度器会调用特定事件,并将按模型结构形成的对象传递给它。

目前存在 7 个主要事件

  • 获取所有者;
  • 获取类别;
  • 获取产品;
  • 获取价格类别;
  • 获取库存;
  • 获取商品;
  • 获取商品属性。

解析器的简单使用

$parser = \CommerceMLParser\Parser::getInstance(); // парсер
// Парсер с кастомной фабрикой
// $parser = \CommerceMLParser\Parser::getInstance(new CustomFactory());

// Слушаем событие получения Категории
$parser->addListener("CategoryEvent", function (\CommerceMLParser\Event\CategoryEvent $categoryEvent) {
    $categories = $categoryEvent->getCategory()->fetch(); // array of Category
}); // добавление функции обработки события CategoryEvent

// Парсим файл XML
$parser->parse($pathToImportXmlFile); // полный путь до файла import.xml (Commerce ML 2) выгрузки из 1с