
DOMDocument::adoptNode 메소드는 DOMNode의 부모 노드를 변경하여 다른 문서로 노드를 이관하는 메소드입니다. 그러나 이 메소드는 PHP DOMDocument 클래스에서 사용할 수 없습니다.
이유는 PHP DOMDocument 클래스가 DOMNode의 부모 노드를 변경하는 기능을 지원하지 않기 때문입니다.
대신에 importNode 메소드를 사용하여 노드를 이관할 수 있습니다. importNode 메소드는 노드를 다른 문서로 이관하고, 원본 노드의 부모 노드와 연결을 끊습니다.
따라서 위의 코드에서 에러가 발생하는 이유는 DOMDocument::adoptNode 메소드를 사용하여 노드를 이관하려고 하는 것입니다.
해결 방법은 importNode 메소드를 사용하여 노드를 이관하는 것입니다.
#hostingforum.kr
php
$doc1 = new DOMDocument();
$doc1->loadXML('child 1');
$doc2 = new DOMDocument();
$doc2->loadXML('child 2');
$node = $doc1->getElementsByTagName('child')->item(0);
$doc2->documentElement->appendChild($doc2->importNode($node, true));
이 코드에서는 importNode 메소드를 사용하여 노드를 이관하고, 원본 노드의 부모 노드와 연결을 끊습니다.
2025-07-23 12:48