« DOMDocument
DOMDocument::append »

DOMDocument::adoptNode

(PHP >= 8.3)

DOMDocument::adoptNode — ノードを別のドキュメントに移す

説明

public function DOMDocument::adoptNode(DOMNode $node): DOMNode|false

ノードを別のドキュメントから、現在のドキュメントに移します。

パラメータ

node

移すノード

戻り値

移したノードを返します。エラー時に false を返します。

エラー / 例外

以下のエラーコードで DOMException をスローします:

DOM_NOT_SUPPORTED_ERR

ノードの型が、転送先のノードでサポートされていない場合に発生します。

例

例1 DOMDocument::adoptNode() の例

最初のドキュメントの hello 要素を二番目のものに移します。

<?php
$doc1 = new DOMDocument;
$doc1->loadXML("<container><hello><world/></hello></container>");
$hello = $doc1->documentElement->firstChild;

$doc2 = new DOMDocument;
$doc2->loadXML("<root/>");
$doc2->documentElement->appendChild($doc2->adoptNode($hello));

echo $doc1->saveXML() . PHP_EOL . PHP_EOL;
echo $doc2->saveXML();
?>

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

<?xml version="1.0"?>
<container/>

<?xml version="1.0"?>
<root><hello><world/></hello></root>

参考

関連キーワード:
DOMDocument   ノード   ドキュメント   hello   adoptNode   container   root   DOMNode   node   loadXML   world   documentElement   saveXML   append   エラーコード   DOMException   転送   サポート   最初   firstChild   appendChild   参考   importNode   インポート
関連する関数・ページ:
domdocument.append   domdocument.prepend   domdocument.replacechildren   domdocument.createtextnode   domdocument.createcomment   domdocument.createprocessinginstruction