Note that this function will remove the node from the original XML document(PHP >= 8.3)
DOMDocument::adoptNode — Переносит узел из другого документа
Переносит узел другого документа в текущий документ.
nodeУзел для переноса.
Возвращает узел, который был перенесён или false в случае возникновения ошибки.
DOM_NOT_SUPPORTED_ERRВозникает, если тип узла не поддерживается для переноса документов.
Пример #1 Пример использования метода DOMDocument::adoptNode()
Перенос элемента hello из первого документа во второй.
<?php
$doc1 = new DOMDocument;
$doc1->loadXML("<container><hello><world/></hello></container>");
$hello = $doc1->documentElement->firstChild;
$doc2 = new DOMDocument;
$doc2->loadXML("<root/>");
$doc2->documentElement->appendChild($doc2->adoptNode($hello));
echo $doc1->saveXML() . PHP_EOL . PHP_EOL;
echo $doc2->saveXML();
?>Результат выполнения приведённого примера:
<?xml version="1.0"?> <container/> <?xml version="1.0"?> <root><hello><world/></hello></root>