Open In App

PHP | DOMDocument importNode() Function

Improve
Improve
Like Article
Like
Save
Share
Report

The DOMDocument::importNode() function is an inbuilt function in PHP which is used to return a copy of the node which need to import and associates it with the current document.

Syntax:

DOMNode DOMDocument::importNode( DOMNode $importedNode, bool $deep = FALSE )

Parameters: This function accepts two parameters as mentioned above and described below:

  • $importedNode: This parameter holds the node which need to import.
  • $deep: This parameter holds the Boolean value. If it set to TRUE then it will recursively import the subtree under the importedNode.

Return Value: This function returns the copied node on success or FALSE, if it cannot be copied.

Below program illustrates the DOMDocument::importNode() function in PHP:

Program:




<?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();
  
?>


Output:

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>

Reference: https://www.php.net/manual/en/domdocument.importnode.php


Last Updated : 27 Aug, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads