dom_import_simplexml

(PHP 5, PHP 7, PHP 8)

dom_import_simplexml Получает объект класса DOMAttr или DOMElement из объекта класса SimpleXMLElement

Описание

dom_import_simplexml(object $node): DOMAttr|DOMElement

Функция принимает заданный атрибут или элемент node (экземпляр класса SimpleXMLElement) и создаёт узел DOMAttr или DOMElement, соответственно. Новый DOMNode ссылается на тот же базовый XML-узел, что и SimpleXMLElement.

Список параметров

node

Узел атрибута или элемента для импорта (экземпляр 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>

Смотрите также

  • simplexml_import_dom() - Получает объект класса SimpleXMLElement из узла XML или HTML