DOMDocument::importNode

(PHP 5, PHP 7, PHP 8)

DOMDocument::importNodeImporta un nodo dentro del documento actual

Descripción

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

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

Parámetros

node

El nodo que desea importar

deep

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

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($node, true);
// 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>
To Top