simplexml_load_file

(PHP 5, PHP 7, PHP 8)

simplexml_load_file Интерпретирует XML-файл в объект

Описание

simplexml_load_file(
    string $filename,
    ?string $class_name = SimpleXMLElement::class,
    int $options = 0,
    string $namespace_or_prefix = "",
    bool $is_prefix = false
): SimpleXMLElement|false

Преобразует правильно сформированный XML-документ в указанном файле в объект.

Список параметров

filename

Путь к XML-файлу

class_name

Вы можете использовать этот необязательный параметр для того, чтобы функция simplexml_load_file() возвращала объект указанного класса. Этот класс должен расширять класс SimpleXMLElement.

options

Побитовое ИЛИ (OR) констант опций libxml.

namespace_or_prefix

Префикс пространства имён или URI.

is_prefix

true, если namespace_or_prefix является префиксом, и false, если URI; по умолчанию равен false.

Возвращаемые значения

Возвращает объект (object) класса SimpleXMLElement со свойствами, содержащими данные, которые хранятся внутри XML-документа или false в случае возникновения ошибки.

Внимание

Эта функция может возвращать как логическое значение false, так и значение не типа boolean, которое приводится к false. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Ошибки

Генерирует сообщение об ошибке уровня E_WARNING для каждой ошибки, найденной в XML-данных.

Подсказка

Используйте функцию libxml_use_internal_errors() для того, чтобы подавить все ошибки XML, и функцию libxml_get_errors() для прохода по ним впоследствии.

Примеры

Пример #1 Интерпретация XML-документа

<?php
// Файл test.xml содержит XML-документ с корневым элементом
// и по меньшей мере элемент /[root]/title.

if (file_exists('test.xml')) {
$xml = simplexml_load_file('test.xml');

print_r($xml);
} else {
exit(
'Не удалось открыть файл test.xml.');
}
?>

Этот скрипт выведет следующее в случае успешного завершения:

SimpleXMLElement Object
(
  [title] => Пример заголовка
  ...
)

Здесь вы можете использовать $xml->title и любые другие элементы.

Смотрите также