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