Spec-Zone.ru › CakePHP 4.2

Класс Xml

Обработка XML для CakePHP.

Методы в этих классах позволяют работать с источниками данных, использующими XML.

Пространство имен: Cake\Utility

Краткое описание методов

  • _createChild() protected static

    Вспомогательный метод для _fromArray(). Он создаёт дочерние элементы массивов.

  • _fromArray() protected static

    Рекурсивный метод для создания дочерних элементов из массива.

  • _loadXml() protected static

    Парсит входные данные и создаёт объект SimpleXmlElement или DOMDocument.

  • _toArray() protected static

    Рекурсивный метод для преобразования в массив.

  • build() public static

    Инициализирует SimpleXMLElement или DOMDocument из заданной XML-строки, пути к файлу, URL или массива.

  • fromArray() public static

    Преобразует массив в SimpleXMLElement.

  • load() protected static

    Парсит входные данные и создаёт объект SimpleXmlElement или DOMDocument.

  • loadHtml() public static

    Парсит входную строку HTML и создаёт объект SimpleXmlElement или DOMDocument.

  • toArray() public static

    Возвращает эту XML-структуру в виде массива.

Подробное описание методов

_createChild() protected static

_createChild(array $data): void

Вспомогательный метод для _fromArray(). Он создаёт дочерние элементы массивов.

Параметры

array $data

Массив с информацией для создания дочерних элементов.

Возвращает

void

_fromArray() protected static

_fromArray(DOMDocument $dom, DOMDocumentDOMElement $node, array $data, string $format): void

Рекурсивный метод для создания дочерних элементов из массива.

Параметры

DOMDocument $dom

Обработчик DOMDocument.

DOMDocumentDOMElement $node

Обработчик DOMElement (дочерний элемент).

array $data

Массив данных для добавления к элементу $node.

string $format

«attributes» или «tags». Определяет, куда помещаются вложенные ключи.

Возвращает

void

Исключения

Cake\Utility\Exception\XmlException

_loadXml() protected static

_loadXml(string $input, array $options): SimpleXMLElementDOMDocument

Парсит входные данные и создаёт объект SimpleXmlElement или DOMDocument.

Параметры

string $input

Входные данные для загрузки.

array $options

Параметры. См. Xml::build().

Возвращает

SimpleXMLElementDOMDocument

Исключения

Cake\Utility\Exception\XmlException

_toArray() protected static

_toArray(SimpleXMLElement $xml, array $parentData, string $ns, string[] $namespaces): void

Рекурсивный метод для преобразования в массив.

Параметры

SimpleXMLElement $xml

Объект SimpleXMLElement.

array $parentData

Родительский массив с данными.

string $ns

Пространство имён текущего дочернего элемента.

string[] $namespaces

Список пространств имён в XML.

Возвращает

void

build() public static

build(string|array|object $input, array $options = []): SimpleXMLElementDOMDocument

Инициализирует SimpleXMLElement или DOMDocument из заданной XML-строки, пути к файлу, URL или массива.

Использование:

Создание XML из строки:

$xml = Xml::build('<example>text</example>');

Создание XML из строки (результат DOMDocument):

$xml = Xml::build('<example>text</example>', ['return' => 'domdocument']);

Создание XML из пути к файлу:

$xml = Xml::build('/path/to/an/xml/file.xml');

Создание XML из удалённого URL:

use Cake\Http\Client;

$http = new Client();
$response = $http->get('http://example.com/example.xml');
$xml = Xml::build($response->body());

Создание из массива:

$value = [
     'tags' => [
         'tag' => [
             [
                 'id' => '1',
                 'name' => 'defect'
             ],
             [
                 'id' => '2',
                 'name' => 'enhancement'
             ]
         ]
     ]
 ];
$xml = Xml::build($value);

При создании XML из массива убедитесь, что есть только один элемент верхнего уровня.

Параметры

  • return Может быть «simplexml» для возврата объекта SimpleXMLElement или «domdocument» для возврата DOMDocument.
  • loadEntities По умолчанию false. Установите в true для включения загрузки <!ENTITY определений. По умолчанию отключено по соображениям безопасности.
  • readFile Установите в true для включения чтения файла. По умолчанию отключено, чтобы предотвратить доступ к локальной файловой системе. Включайте только при безопасном вводе.
  • parseHuge Включить флаг LIBXML_PARSEHUGE.

При использовании массива в качестве входных данных вы можете передать options из Xml::fromArray.

Параметры

string|array|object $input

XML-строка, путь к файлу, URL или массив

array $options опционально

Используемые параметры.

Возвращает

SimpleXMLElementDOMDocument

Исключения

Cake\Utility\Exception\XmlException

fromArray() public static

fromArray(array|object $input, array $options = []): SimpleXMLElementDOMDocument

Преобразует массив в SimpleXMLElement.

Параметры

  • format Если создавать дочерние элементы («tags») или атрибуты («attributes»).
  • pretty Возвращает отформатированный XML, если установлено true. По умолчанию false.
  • version Версия XML-документа. По умолчанию 1.0.
  • encoding Кодировка XML-документа. Если null, удалить из заголовка XML. По умолчанию кодировка приложения.
  • return Возвратить объект SimpleXMLElement («simplexml») или DOMDocument («domdocument»). По умолчанию SimpleXMLElement.

Используя следующие данные:

$value = [
   'root' => [
       'tag' => [
           'id' => 1,
           'value' => 'defect',
           '@' => 'description'
        ]
    ]
];

Вызов Xml::fromArray($value, 'tags'); создаст:

<root><tag><id>1</id><value>defect</value>description</tag></root>

И вызов Xml::fromArray($value, 'attributes'); создаст:

<root><tag id="1" value="defect">description</tag></root>

Параметры

array|object $input

Массив с данными или экземпляр коллекции.

array $options опционально

Используемые параметры.

Возвращает

SimpleXMLElementDOMDocument

Исключения

Cake\Utility\Exception\XmlException

load() protected static

load(string $input, array $options, Closure $callable): SimpleXMLElementDOMDocument

Парсит входные данные и создаёт объект SimpleXmlElement или DOMDocument.

Параметры

string $input

Входные данные для загрузки.

array $options

Параметры. См. Xml::build().

Closure $callable

Замыкание, которое должно возвращать экземпляр SimpleXMLElement или DOMDocument.

Возвращает

SimpleXMLElementDOMDocument

Исключения

Cake\Utility\Exception\XmlException

loadHtml() public static

loadHtml(string $input, array $options = []): SimpleXMLElementDOMDocument

Парсит входную строку HTML и создаёт объект SimpleXmlElement или DOMDocument.

Параметры

string $input

Входная строка HTML для загрузки.

array $options опционально

Используемые параметры. См. Xml::build().

Возвращает

SimpleXMLElementDOMDocument

Исключения

Cake\Utility\Exception\XmlException

toArray() public static

toArray(SimpleXMLElementDOMDocumentDOMNode $obj): array

Возвращает эту XML-структуру в виде массива.

Параметры

SimpleXMLElementDOMDocumentDOMNode $obj

Экземпляр SimpleXMLElement, DOMDocument или DOMNode.

Возвращает

array

Исключения

Cake\Utility\Exception\XmlException

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Utility.Xml.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API