Php/docs/domdocument.importnode

提供:Dev Guides
< Php
移動先:案内検索

DOMDocument::importNode

(PHP 5, PHP 7)

DOMDocument::importNode現在のドキュメントにノードをインポートする


説明

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

この関数は、インポートするノードのコピーを返し、 それを現在のドキュメントに関連付けます。


パラメータ

importedNode

インポートするノード。

deep

true の場合、このメソッドは importedNode 以下のサブツリーも再帰的にインポートします。

注意:

ノードの属性をコピーするには deeptrue に設定しなければなりません。


返り値

コピーされたノードを返します。 コピーできなかった場合は false を返します。


エラー / 例外

ノードがインポートできなかった場合には DOMException がスローされます。


例1 DOMDocument::importNode() の例

ノードをドキュメント間でコピーします。


<?php$orgdoc = new DOMDocument;$orgdoc->loadXML("<root><element><child>text in child</child></element></root>");// 新しいドキュメントにインポートしたいノード$node = $orgdoc->getElementsByTagName("element")->item(0);// 新しいドキュメントを作成します$newdoc = new DOMDocument;$newdoc->formatOutput = true;// マークアップを追加します$newdoc->loadXML("<root><someelement>text in some element</someelement></root>");echo "The 'new document' before copying nodes into it:\n";echo $newdoc->saveXML();// ノードとそのすべての子をドキュメントにインポートします$node = $newdoc->importNode($node, true);// それから、それを "<root>" ノードに追加します$newdoc->documentElement->appendChild($node);echo "\nThe 'new document' after copying the nodes into it:\n";echo $newdoc->saveXML();?>

上の例の出力は以下となります。


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>