Статья описывает работу с 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.
