~2 минуты, Опубликовано 03.02.2023

Создание выгрузки Битрикс XML через XmlWriter

Создание выгрузки Битрикс XML через XmlWriter

Введение

Выгрузка будет реализована на основе Bitrix API класс XmlWriter.

Описание класса

  1. В функции getData() получаете необходимые вам данные, которые нужны в конечном XML (пример: Элементы инфоблока)
  2. Формируете данные в нужном вам формате с учетом вложенности массива
  3. В цикле (функция index) происходит добавление данные в конечный файл с учетом вложенности массива
  4. Получаете готовый xml файл по *пути, указанному в параметре конструктора с ключом file

*Путь к файлу указывается относительно корня сайта

Исходных код

<?php
/**
 * Генерация XML файла
 * @author https://t.me/bitrix_web
* @author https://code-culture.ru/ */ require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php"); class GenerateXml{ private $xml, $data; public function index(){ self::getData(); $this->xml = new \Bitrix\Main\XmlWriter(['create_file' => true, 'charset' => 'UTF-8', 'file' => '/xml-data.xml']); $this->xml->openFile(); $this->xml->writeBeginTag('shop'); $this->xml->writeBeginTag('items'); foreach ($this->data as $item) { $this->xml->writeItem($item, 'item'); } $this->xml->writeBeginTag('items'); $this->xml->writeEndTag('shop'); $this->xml->closeFile(); } private function getData(){ $this->data = [ 0 => [ 'id' => 512, 'name' => 'Футболка', 'price' => 145, 'code' => 'tshirt' ], 1 => [ 'id' => 513, 'name' => 'Футболка Синяя', 'price' => 135, 'code' => 'red-tshirt1' ], 2 => [ 'id' => 514, 'name' => 'Футболка Красная', 'price' => 125, 'code' => 'red-tshirt2' ] ]; } } $xml = new GenerateXml(); $xml->index();
Читайте также  Как отправить SMS средствами системы Bitrix

Категории: Bitrix Bitrix D7