DOMDocument::importNode

(PHP 5, PHP 7, PHP 8)

DOMDocument::importNodeImport node into current document

Beschreibung

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

This function returns a copy of the node to import and associates it with the current document.

Parameter-Liste

node

The node to import.

deep

If set to true, this method will recursively import the subtree under the node.

Hinweis:

To copy the nodes attributes deep needs to be set to true

Rückgabewerte

The copied node or false, if it cannot be copied.

Fehler/Exceptions

DOMException is thrown if node cannot be imported.

Beispiele

Beispiel #1 DOMDocument::importNode() example

Copying nodes between documents.

<?php

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

// The node we want to import to a new document
$node = $orgdoc->getElementsByTagName("element")->item(0);


// Create a new document
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;

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

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

// Import the node, and all its children, to the document
$node = $newdoc->importNode($node, true);
// And then append it to the "<root>" node
$newdoc->documentElement->appendChild($node);

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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>