Spec-Zone.ru › CakePHP 2.9

Класс Xml

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

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

Пакет: Cake\Утилиты
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Utility/Xml.php

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

  • _createChild() защищенный статический
    Помощник для _fromArray(). Он создаст дочерние элементы массивов.
  • _fromArray() защищенный статический
    Рекурсивный метод для создания дочерних элементов из массива.
  • _loadXml() защищенный статический
    Разбор входных данных и создание объекта SimpleXmlElement или DOMDocument.
  • _toArray() защищенный статический
    Рекурсивный метод для преобразования в массив.
  • build() публичный статический
    Инициализация SimpleXMLElement или DOMDocument из заданной строки XML, пути к файлу, URL или массива.
  • fromArray() публичный статический
    Преобразование массива в SimpleXMLElement.
  • toArray() публичный статический
    Возвращает эту структуру XML в виде массива.

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

_createChild()исходный код защищенный статический

_createChild( array $data )

Помощник для _fromArray(). Он создаст дочерние элементы массивов

Параметры

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

_fromArray()исходный код защищенный статический

_fromArray( DOMDocument $dom , DOMElement $node , array $data , string $format )

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

Параметры

DOMDocument $dom
Обработчик DOMDocument
DOMElement $node
Обработчик DOMElement (дочерний)
массив $data
$data Массив данных для добавления к $node.
строка $format
Либо 'attributes', либо 'tags'. Это определяет, куда попадают вложенные ключи.

Исключения

XmlException

_loadXml()исходный код защищенный статический

_loadXml( string $input , array $options )

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

Параметры

строка $input
Входные данные для загрузки.
массив $options
Параметры для использования. См. Xml::build()

Возвращает

SimpleXmlElement|DOMDocument

Исключения

XmlException

_toArray()исходный код защищенный статический

_toArray( SimpleXMLElement $xml , array $parentData , string $ns , array $namespaces )

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

Параметры

SimpleXMLElement $xml
Объект SimpleXMLElement
массив $parentData
$parentData Родительский массив с данными
строка $ns
Пространство имен текущего дочернего элемента
массив $namespaces
Список пространств имен в XML

build()исходный код публичный статический

build( string|array $input , array $options array() )

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

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

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

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

Создание XML из строки (вывод DOMDocument):

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

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

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

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

$xml = Xml::build('http://example.com/example.xml');

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

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

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

Параметры

  • return Может быть 'simplexml', чтобы вернуть объект SimpleXMLElement, или 'domdocument', чтобы вернуть DOMDocument.
  • loadEntities По умолчанию false. Установите в true, чтобы включить загрузку определений <!ENTITY. По умолчанию отключено по соображениям безопасности.
  • readFile Установите в false, чтобы отключить чтение файлов. Это важно отключить при передаче пользовательских данных в Xml::build(). Если включено, будут читаться локальные и удалённые файлы, если они существуют. По умолчанию true по соображениям обратной совместимости.
  • Если используется массив в качестве входных данных, вы можете передать options из Xml::fromArray.

Параметры

строка|массив $input
Строка XML, путь к файлу, URL или массив
массив $options необязательно массив()
Параметры для использования

Возвращает

SimpleXMLElement|DOMDocument
SimpleXMLElement или DOMDocument

Исключения

XmlException

fromArray()исходный код публичный статический

fromArray( array $input , array $options array() )

Преобразование массива в SimpleXMLElement

Параметры

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

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

$value = array(
   'root' => array(
       'tag' => array(
           '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>

Параметры

массив $input
Массив с данными
массив $options необязательно массив()
Параметры для использования

Возвращает

SimpleXMLElement|DOMDocument
SimpleXMLElement или DOMDocument

Исключения

XmlException

toArray()исходный код публичный статический

toArray( SimpleXMLElement|DOMDocument|DOMNode $obj )

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

Параметры

SimpleXMLElement|DOMDocument|DOMNode $obj
Экземпляр SimpleXMLElement, DOMDocument или DOMNode

Возвращает

массив
Представление структуры XML в виде массива.

Исключения

XmlException

© 2005–2016 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/2.9/class-Xml.html

Spec-Zone.ru

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