Files
doc-fr/reference/dom/domdocument/importnode.xml
2024-01-26 05:55:51 +00:00

151 lines
4.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4f5e2b22575131fa5e9c3004b1c874e1acb06573 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="domdocument.importnode" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>DOMDocument::importNode</refname>
<refpurpose>Importe un nœud dans le document courant</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="DOMDocument">
<modifier>public</modifier> <type class="union"><type>DOMNode</type><type>false</type></type><methodname>DOMDocument::importNode</methodname>
<methodparam><type>DOMNode</type><parameter>node</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>deep</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>
Cette fonction retourne une copie du nœud à importer et l'associe avec le
document courant.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>node</parameter></term>
<listitem>
<para>
Le nœud à importer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>deep</parameter></term>
<listitem>
<para>
Si défini à &true;, cette méthode importera
récursivement le sous-arbre situé sous le nœud
<parameter>node</parameter>.
</para>
<note>
<para>
Pour copier les attributs des nœuds, le paramètre
<parameter>deep</parameter> doit être défini à &true;
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Le nœud copié ou &false; si la copie a échouée.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Une <classname>DOMException</classname> est lancée si le nœud ne
peut pas être importé.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>DOMDocument::importNode</function></title>
<para>
Copie de nœuds entre plusieurs documents.
</para>
<programlisting role="php">
<![CDATA[
<?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();
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
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>
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->