DOMDocument::importNode

(PHP 5, PHP 7)

DOMDocument::importNodeImporte un noeud dans le document courant

Description

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

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

Liste de paramètres

importedNode

Le noeud à importer.

deep

Si défini à TRUE, cette méthode importera récursivement le sous-arbre situé sous le noeud importedNode.

Note:

Pour copier les attributs des noeuds, le paramètre deep doit être défini à TRUE

Valeurs de retour

Le noeud copié ou FALSE si la copie a échouée.

Erreurs / Exceptions

DOMException est lancé si le noeud ne peut pas être importé.

Exemples

Exemple #1 Exemple avec DOMDocument::importNode()

Copie de noeuds entre plusieurs documents.

<?php

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

// Le noeud 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 noeud :\n";
echo 
$newdoc->saveXML();

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

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

L'exemple ci-dessus va afficher :

Le nouveau document avant d'y copier le noeud :
<?xml version="1.0"?>
<root>
  <someelement>Texte dans un élément</someelement>
</root>

Le nouveau document après y avoir copié les noeuds :
<?xml version="1.0"?>
<root>
  <someelement>Texte dans un élément</someelement>
  <element>
    <child>Texte dans un fils</child>
  </element>
</root>

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top