La función DOMDocument::importNode() es una función incorporada en PHP que se usa para devolver una copia del Node que necesita importar y lo asocia con el documento actual.
Sintaxis:
DOMNode DOMDocument::importNode( DOMNode $importedNode, bool $deep = FALSE )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $importedNode: este parámetro contiene el Node que necesita importar.
- $profundo: este parámetro contiene el valor booleano. Si se establece en VERDADERO, importará recursivamente el subárbol bajo el Node importado.
Valor de retorno: esta función devuelve el Node copiado en caso de éxito o FALSO, si no se puede copiar.
El siguiente programa ilustra la función DOMDocument::importNode() en PHP:
Programa:
<?php // Create a new document $dom = new DOMDocument; // Load the XML document $dom->loadXML("<root><contact><email>abc@geeksforgeeks.org</email> <mobile>+91-987654321</mobile></contact></root>"); // Use getElementsByTagName() function to search // all elements with given local tag name $node = $dom->getElementsByTagName("contact")->item(0); // Create a new document $dom1 = new DOMDocument; $dom1->formatOutput = true; // Load the XML document $dom1->loadXML("<root><contactinfo><email>abc@geeksforgeeks.org</email> <mobile>+91-987654321</mobile></contactinfo></root>"); echo "Document before copying the nodes\n"; // Save the file in XML and display it echo $dom1->saveXML(); // Use importNode() function to import the node $node = $dom1->importNode($node, true); // Append child to the document $dom1->documentElement->appendChild($node); echo "\nDocument after copying the nodes\n"; // Save XML document and display it echo $dom1->saveXML(); ?>
Producción:
Document before copying the nodes <?xml version="1.0"?> <root> <contactinfo><email>abc@geeksforgeeks.org</email> <mobile>+91-987654321</mobile></contactinfo> </root> Document after copying the nodes <?xml version="1.0"?> <root> <contactinfo><email>abc@geeksforgeeks.org</email> <mobile>+91-987654321</mobile></contactinfo> <contact><email>abc@geeksforgeeks.org</email> <mobile>+91-987654321</mobile></contact> </root>
Referencia: https://www.php.net/manual/en/domdocument.importnode.php