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-данных.

Подсказка

Для подавления ошибок в XML-данных вызывают функцию libxml_use_internal_errors(), и функцию 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-формате в объект возможны обращения к XML-элементам синтаксисом $xml->body и вызовы методов объекта.

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