(PHP 5, PHP 7, PHP 8)
dom_import_simplexml — Получает объект класса DOMAttr или DOMElement из объекта класса SimpleXMLElement
Функция принимает заданный атрибут или элемент node
(экземпляр класса SimpleXMLElement) и создаёт узел DOMAttr
или DOMElement, соответственно.
Новый DOMNode ссылается на тот же базовый XML-узел,
что и SimpleXMLElement.
Функция возвращает DOMAttr или DOMElement.
Версия | Описание |
---|---|
8.0.0 |
Функция больше не возвращает null в случае возникновения ошибки.
|
Пример #1 Импорт SimpleXML в DOM с помощью функции dom_import_simplexml()
<?php
$sxe = simplexml_load_string('<books><book><title>чепуха</title></book></books>');
if ($sxe === false) {
echo 'Ошибка при разборе документа';
exit;
}
$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
echo 'Ошибка при преобразовании XML';
exit;
}
$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);
echo $dom->saveXML();
?>
Результат выполнения приведённого примера:
<?xml version="1.0"?> <books><book><title>blah</title></book></books>
Пример #2 Импорт SimpleXML в DOM и изменение SimpleXML через DOM
Обработка ошибок опущена для краткости.
<?php
$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');
$elt = dom_import_simplexml($sxe);
$elt->setAttribute("foo", "bar");
echo $sxe->asXML();
?>
Результат выполнения приведённого примера:
<?xml version="1.0"?> <books foo="bar"><book><title>blah</title></book></books>