Конвертация php в xml. Конвертация xml в php | REDs group
REDS Group
ул. Большая Академическая, дом 5, стр. 1, Москва.
Конвертация php в xml. Конвертация xml в php

Конвертация php в xml. Конвертация xml в php

219

Конвертация php в xml. Конвертация xml в php

Преобразование php-массива в xml и наоборот

При работе с bitrix может возникнуть необходимость конвертации массива в xml файл. Для преобразований были выбраны следующие инструменты: функции array2xml и xml2array.

Для выполнения конвертации из массива в xml файл необходимо:

  1. Поместить файл функции array2xml.php в раздел, в котором она будет использоваться.
  2. Подключить файл с функцией
    require_once ('array2xml.php');
    
  3. Разберем пример по формированию XML на основе заведенных в системе товаров. Для этого будем использовать функцию CIBlockElement::GetList для получения данных из инфоблока.
    $array2xml = new Array2xml();
    
    $arSelect = Array("ID", "NAME");
    $arFilter = Array("IBLOCK_ID"=> 4, "SECTION_ID" => 2120, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");
    $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
    while($ob = $res->GetNextElement()) 
    { 
        $arFields = $ob->GetFields(); 
        $arResult[SHOPITEM][ITEM_ID] = $arFields[ID]; 
        $arResult[SHOPITEM][PRODUCTNAME] = $arFields[NAME]; 
    
        echo $array2xml->convert($arResult); 
    }
    
  4. В результате получаем сформированный xml наших товаров.

Для выполнения конвертации из xml файла в массив необходимо:

  1. Поместить файл функции xml2array.php в раздел, в котором она будет использоваться.
  2. Подключить файл с функцией
    require_once ('array2xml.php');
    
  3. Загрузить xml файл, который необходимо конвертировать, и указать путь к файлу в файловой системе. Файл xml должен содержать начальный и конечный теги, в которые будет заключен весь документ.
    $xml = file_get_contents('test/XML_SHOPITEM2.xml');
    $data = xml2array($xml);
    print_r($data);
    
  4. В итоге получаем массив элементов, сформированный из xml файла.
20.09.2018 / Садовиков Сергей
Комментарии (0)