ノードを別のドキュメントに移す

# 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::importNode() - 現在のドキュメントにノードをインポートする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open