Импорт узла в текущий документ


(PHP 5)

DOMDocument::importNode Импорт узла в текущий документ

Описание

public DOMNode DOMDocument::importNode ( DOMNode $importedNode [, bool $deep ] )

Эта функция возвращает копию импортируемого узла и присоединяет ее к текущему документу.

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

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($nodetrue);
// И затем добавление узла в корень элемента
$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>