DOMDocument::importNode - Импорт узла в текущий документ
Вернуться к: DOMDocument
DOMDocument::importNode
(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>
Вернуться к: DOMDocument