DOMDocument::importNode
(PHP 5, PHP 7)
DOMDocument::importNode — 現在のドキュメントにノードをインポートする
説明
この関数は、インポートするノードのコピーを返し、 それを現在のドキュメントに関連付けます。
パラメータ
importedNode
インポートするノード。
deep
true
の場合、このメソッドはimportedNode
以下のサブツリーも再帰的にインポートします。注意:
ノードの属性をコピーするには
deep
をtrue
に設定しなければなりません。
返り値
コピーされたノードを返します。
コピーできなかった場合は false
を返します。
例
例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>