• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/sender/sms/ednaruimhpx.php
  • Класс: BitrixMessageServiceSenderSmsEdnaruImHpx
  • Вызов: EdnaruImHpx::parseXml
protected function parseXml(string $xmlString): Result
{
	$result = new Result();

	if ($xmlString === '')
	{
		return $result->addError(new Error('Empty XML'));
	}

	libxml_use_internal_errors(true);
	libxml_clear_errors();
	$parsedBody = simplexml_load_string($xmlString);
	$parseErrors = libxml_get_errors();

	if (!empty($parseErrors))
	{
		/** @var LibXMLError $parseError */
		foreach ($parseErrors as $parseError)
		{
			$result->addError(new Error($parseError->message, $parseError->code));
		}
		return $result;
	}

	$result->setData([
		'root' => $parsedBody
	]);
	return $result;
}