DOMDocument::importNode

(PHP 5, PHP 7, PHP 8)

DOMDocument::importNodeImporta um nó para o documento atual

Descrição

public DOMDocument::importNode(DOMNode $node, bool $deep = false): DOMNode|false

Esta função retorna uma cópia do nó a ser importado e o associa com o documento atual.

Parâmetros

node

O nó a ser importado.

deep

Se definido como true, este método importará recursivamente a subárvore sob o node.

Note:

Para copiar os atributos dos nós, deep precisa ser definido como true.

Valor Retornado

O nó copiado ou false, se não puder ser copiado.

Erros/Exceções

DOMException é lançado se o nó não puder ser importado.

Exemplos

Example #1 DOMDocument::importNode() exemplo

Copiando nós entre documentos.

<?php

$orgdoc = new DOMDocument;
$orgdoc->loadXML("<root><element><child>text in child</child></element></root>");

// O nó que queremos importar para um novo documento
$node = $orgdoc->getElementsByTagName("element")->item(0);


// Crie um novo documento
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;

// Adicione alguma marcação
$newdoc->loadXML("<root><someelement>text in some element</someelement></root>");

echo "The 'new document' before copying nodes into it:\n";
echo $newdoc->saveXML();

// Importe o nó, e todos os seus filhos, para o documento
$node = $newdoc->importNode($node, true);
// E então acrescente-o ao nó "<root>"
$newdoc->documentElement->appendChild($node);

echo "\nThe 'new document' after copying the nodes into it:\n";
echo $newdoc->saveXML();
?>

O exemplo acima produzirá:

The 'new document' before copying nodes into it:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
</root>

The 'new document' after copying the nodes into it:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
  <element>
    <child>text in child</child>
  </element>
</root>