simplexml_load_file

(PHP 5, PHP 7)

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

Описание

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

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

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

filename

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

Замечание:

Libxml 2 декодирует URI, так что если вы хотите передать, например, b&c как параметр URI a, вы должны вызвать simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). Начиная с PHP 5.1.0 этого не требуется, потому что PHP сделает это за вас.

class_name

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

options

Начиная с PHP 5.1.0 и Libxml 2.6.0, вы также можете использовать параметр options, чтобы указать дополнительные параметры Libxml.

ns

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

is_prefix

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

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

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

Внимание

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

Ошибки

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

Подсказка

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

Список изменений

Версия Описание
5.2.0 Добавлен необязательный параметр is_prefix.

Примеры

Пример #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->body и любые другие элементы.

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