PHP simplexml_load_string()Функции

PHP SimpleXML 参考手册Справочное руководство по PHP SimpleXML

Примеры

Преобразуйте корректную XML-строку в объект SimpleXMLElement, затем выведите ключи и элементы объекта:

<?php $note=<<<XML <note> <to>Туве</to> <from>Яни</from> <heading>Напоминание</heading> <body>Не забудь меня в эти выходные!</body> </note> XML; $xml=simplexml_load_string($note); print_r($xml); ?>

Запустить пример »

Определение и использование

Функция simplexml_load_string() преобразует корректную XML-строку в объект SimpleXMLElement.


Синтаксис

simplexml_load_string(data,classname,options,ns,is_prefix);

Parameters Описание
data Обязательный. Задает правильно сформированную XML-строку.
classname Необязательный. Указывает класс нового объекта.
options Необязательный. Задает дополнительные параметры Libxml. Устанавливается путем указания параметров как 1 или 0 (TRUE или FALSE, например, LIBXML_NOBLANKS(1)).

Возможные значения:

  • LIBXML_COMPACT - Активировать конфигурацию оптимизации узлов (может ускорить работу приложений)
  • LIBXML_DTDATTR — Устанавливает атрибуты DTD по умолчанию
  • LIBXML_DTDLOAD — Загружает дополнительное подмножество
  • LIBXML_DTDVALID — Проверяет валидность DTD
  • LIBXML_NOBLANKS — удалять пустые узлы
  • LIBXML_NOCDATA — представлять CDATA как текстовые узлы
  • LIBXML_NOEMPTYTAG - Раскрывать пустые теги (например, <br/> в <br></br>), допустимо только в функциях DOMDocument->save() и DOMDocument->saveXML()
  • LIBXML_NOENT — подставлять сущности
  • LIBXML_NOERROR - Не отображать отчеты об ошибках
  • LIBXML_NONET — не обращаться к сети при загрузке документов
  • LIBXML_NOWARNING - Не отображать отчеты о предупреждениях
  • LIBXML_NOXMLDECL - Отбрасывать объявление XML при сохранении документа
  • LIBXML_NSCLEAN — удалять избыточные объявления пространств имён
  • LIBXML_PARSEHUGE - Установить флаг XML_PARSE_HUGE, чтобы ослабить любые обязательные ограничения парсера. Это повлияет на такие параметры, как максимальная глубина документа и ограничения размера текстовых узлов.
  • LIBXML_XINCLUDE — использовать подстановку XInclude
  • LIBXML_ERR_ERROR — получать восстанавливаемые ошибки
  • LIBXML_ERR_FATAL — получить фатальные ошибки
  • LIBXML_ERR_NONE — не получать ошибки
  • LIBXML_ERR_WARNING — получать простые предупреждения
  • LIBXML_VERSION - Получить версию libxml (например, 20605 или 20617)
  • LIBXML_DOTTED_VERSION - Получить точечную версию libxml (например, 2.6.5 или 2.6.17)
ns Необязательный. Задает префикс пространства имен или URI.
is_prefix Необязательный. Задает логическое значение. Еслиnsявляется префиксом, то это TRUE; еслиnsявляется URI, то это FALSE. Значение по умолчанию — FALSE.

Технические детали

Возвращаемое значение: Возвращает объект SimpleXMLElement при успехе или FALSE при ошибке.
Версия PHP: 5+


Другие примеры

Пример 1

Вывести данные каждого элемента в XML-строке:

<?php $note=<<<XML <note> <to>Туве</to> <from>Яни</from> <heading>Напоминание</heading> <body>Не забудь меня в эти выходные!</body> </note> XML; $xml=simplexml_load_string($note); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>

Запустить пример »

Пример 2

Выведите имена элементов и данные каждого дочернего узла в строке XML:

<?php $note=<<<XML <note> <to>Туве</to> <from>Яни</from> <heading>Напоминание</heading> <body>Не забудь меня в эти выходные!</body> </note> XML; $xml=simplexml_load_string($note); echo $xml->getName() . "<br>"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br>"; } ?>

Запустить пример »


PHP SimpleXML 参考手册Справочное руководство по PHP SimpleXML Другие расширения