simplexml_load_file
(PHP 5, PHP 7)
simplexml_load_file — Интерпретирует XML-файл в объект
Описание
$filename
, string $class_name
= "SimpleXMLElement"
, int $options
= 0
, string $ns
= ""
, bool $is_prefix
= false
) : SimpleXMLElement|falseПреобразует правильно сформированный XML-документ в указанном файле в объект.
Список параметров
-
filename
-
Путь к XML-файлу
Замечание:
Libxml 2 декодирует URI, так что если вы хотите передать, например,
b&c
как параметр URIa
, вы должны вызвать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
и любые другие элементы.
Смотрите также
- simplexml_load_string() - Интерпретирует строку с XML в объект
- SimpleXMLElement::__construct() - Создание нового объекта SimpleXMLElement
- Работа с ошибками XML
- libxml_use_internal_errors() - Отключение ошибок libxml и передача полномочий по выборке и обработке информации об ошибках пользователю
- Базовое использование SimpleXML