Класс Xml
Обработка XML для CakePHP.
Методы в этих классах позволяют работать источникам данных, использующим XML.
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Utility/Xml.php
Краткое описание методов
- Помощник для _fromArray(). Он создаст дочерние элементы массивов.
- Рекурсивный метод для создания дочерних элементов из массива.
- Разбор входных данных и создание объекта SimpleXmlElement или DOMDocument.
- Рекурсивный метод для преобразования в массив.
- Инициализация SimpleXMLElement или DOMDocument из заданной строки XML, пути к файлу, URL или массива.
- Преобразование массива в SimpleXMLElement.
- Возвращает эту структуру 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|DOMDocumentSimpleXMLElement или DOMDocument
Исключения
XmlExceptionfromArray()исходный код публичный статический
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|DOMDocumentSimpleXMLElement или DOMDocument
Исключения
XmlExceptiontoArray()исходный код публичный статический
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