DOMDocument::importNode

(PHP 5, PHP 7)

DOMDocument::importNodeImporta un nodo dentro del documento actual

Descripción

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

Esta función devuelve una copia del nodo a importar y le asocia con el documento actual.

Parámetros

importedNode

El nodo que desea importar

deep

Si se establece en TRUE, este método importará de forma recursiva el subárbol bajo el importedNode.

Nota:

Para copiar los atributos de los nodos deep debe establecerse a TRUE

Valores devueltos

El nodo copiado o FALSE, si no puede ser copiado.

Errores/Excepciones

DOMException es lanzado si el nodo no puede ser importado.

Ejemplos

Ejemplo #1 DOMDocument::importNode() ejemplo

Copiando nodos entre documentos.

<?php

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

// El nodo que se quiere importar al nuevo documento
$node $orgdoc->getElementsByTagName("element")->item(0);


// Crear un nuevo documento
$newdoc = new DOMDocument;
$newdoc->formatOutput true;

// Agregar marcado
$newdoc->loadXML("<root><someelement>text in some element</someelement></root>");

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

// Importar el nodo y todos sus hijos al documento
$node $newdoc->importNode($nodetrue);
// y entonces anexarlo a el nodo "<root>"
$newdoc->documentElement->appendChild($node);

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

El resultado del ejemplo sería:

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>