simplexml_load_string

(PHP 5, PHP 7, PHP 8)

simplexml_load_string Интерпретирует строку с XML в объект

Описание

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

Получает правильно сформированную XML-строку и возвращает её как объект.

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

data

Правильно сформированная XML-строка

class_name

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

options

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

namespace_or_prefix

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

is_prefix

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

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

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

Внимание

Функция возвращает как логическое значение false, так и нелогическое значение, которое приводится к false. Прочитайте раздел «Логический тип», чтобы получить дополнительную информацию. Используйте оператор === для проверки значения, которое возвращает функция.

Ошибки

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

Подсказка

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

Примеры

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

<?php
$string
= <<<XML
<?xml version='1.0'?>
<document>
<title>Что 40?</title>
<from>Джо</from>
<to>Джейн</to>
<body>
Я знаю, что это - ответ. В чем заключается вопрос?
</body>
</document>
XML;

$xml = simplexml_load_string($string);

print_r($xml);
?>

Результат выполнения приведённого примера:

SimpleXMLElement Object
(
  [title] => Что 40?
  [from] => Джо
  [to] => Джейн
  [body] =>
   Я знаю, что это - ответ. В чем заключается вопрос?
)

Здесь можно использовать $xml->body и т.д.

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