(PHP 5, PHP 7)
DOMDocument::importNode — Импортировать узел в текущий документ
Эта функция возвращает копию импортируемого узла и связывает ее с текущим документом.
importedNode
Узел для импорта.
deep
Если установлено значение TRUE
, этот метод будет рекурсивно импортировать
поддерево узла importedNode
.
Замечание:
Чтобы скопировались атрибуты узла,
deep
должен быть установлен вTRUE
.
Скопированный узел или FALSE
, если он не может быть скопирован.
Если узел не может быть импортирован, будет выброшено исключение DOMException.
Пример #1 Пример использования DOMDocument::importNode()
Копирование узлов между документами.
<?php
$orgdoc = new DOMDocument;
$orgdoc->loadXML("<root><element><child>text in child</child></element></root>");
// Узел, который будет импортирован в новый документ
$node = $orgdoc->getElementsByTagName("element")->item(0);
// Создание нового документа
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;
// Добавление разметки
$newdoc->loadXML("<root><someelement>text in some element</someelement></root>");
echo "Новый документ перед добавлением в него узлов:\n";
echo $newdoc->saveXML();
// Импорт узла и всех его потомков в документ
$node = $newdoc->importNode($node, true);
// И затем добавление его в корневой узел
$newdoc->documentElement->appendChild($node);
echo "\nНовый документ после добавления в него узлов:\n";
echo $newdoc->saveXML();
?>
Результат выполнения данного примера:
Новый документ перед добавлением в него узлов: <?xml version="1.0"?> <root> <someelement>text in some element</someelement> </root> Новый документ после добавления в него узлов: <?xml version="1.0"?> <root> <someelement>text in some element</someelement> <element> <child>text in child</child> </element> </root>