ГлавнаяБлогXML парсер битрикса [bitrix api]

XML парсер битрикса [bitrix api]

Рамиль Юналиев
Рамиль Юналиев
E-Commerce Lead
5 января 2010 г.
1 мин чтения

Статья описывает работу с XML в Битриксе. Не нужно изобретать собственные решения — встроенные возможности CMS справляются с задачей эффективно.

Получение XML-данных

$strQueryText = QueryGetData(
    "www.cbr.ru",
    80,
    "/scripts/XML_daily.asp",
    "",
    $error_number,
    $error_text
);

Подключение класса и парсинг

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/xml.php");
 
$objXML = new CDataXML();
$objXML->LoadString($strQueryText);
$arData = $objXML->GetArray();
 
echo '<pre>', print_r($arData).'</pre>';

Обработка в удобный массив

$arResult = array();
foreach ($arData['ValCurs']['#']['Valute'] as $arValue)
{
  $ar = array();
  foreach ($arValue['#'] as $sKey => $sVal)
  {
    $ar[$sKey] = $sVal[0]['#'];
  }
 
  $arResult[] = $ar;
}
 
echo '<pre>', print_r($arResult).'</pre>';

Пример демонстрирует получение курсов валют с сайта ЦБ РФ и преобразование XML-документа в удобный PHP-массив с полями NumCode, CharCode, Nominal, Name и Value.