DOMDocument::importNode

(PHP 5, PHP 7, PHP 8)

DOMDocument::importNodeImporte un nœud dans le document courant

Description

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

Cette fonction retourne une copie du nœud à importer et l'associe avec le document courant.

Liste de paramètres

node

Le nœud à importer.

deep

Si défini à true, cette méthode importera récursivement le sous-arbre situé sous le nœud node.

Note:

Pour copier les attributs des nœuds, le paramètre deep doit être défini à true

Valeurs de retour

Le nœud copié ou false si la copie a échouée.

Erreurs / Exceptions

Une DOMException est lancée si le nœud ne peut pas être importé.

Exemples

Exemple #1 Exemple avec DOMDocument::importNode()

Copie de nœuds entre plusieurs documents.

<?php

$orgdoc
= new DOMDocument;
$orgdoc->loadXML("<root><element><child>Texte dans un fils</child></element></root>");

// Le nœud que nous voulons importer dans le nouveau document
$node = $orgdoc->getElementsByTagName("element")->item(0);


// Création du nouveau document
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;

// Ajout de quelques balises
$newdoc->loadXML("<root><someelement>Texte dans un élément</someelement></root>");

echo
"Le nouveau document avant d'y copier le nœud :\n";
echo
$newdoc->saveXML();

// Importation du nœud, ainsi que tous ses files, dans le document
$node = $newdoc->importNode($node, true);
// Et on l'ajoute dans le le nœud racine "<root>"
$newdoc->documentElement->appendChild($node);

echo
"\nLe nouveau document après y avoir copié les nœuds :\n";
echo
$newdoc->saveXML();
?>

L'exemple ci-dessus va afficher :

Le nouveau document avant d'y copier le nœud : <?xml version="1.0"?> <root> <someelement>Texte dans un élément</someelement> </root> Le nouveau document après y avoir copié les nœuds : <?xml version="1.0"?> <root> <someelement>Texte dans un élément</someelement> <element> <child>Texte dans un fils</child> </element> </root>
To Top