
DOMDocument::adoptNode 함수는 다른 문서의 노드를 현재 문서에 추가하는 데 사용됩니다. 그러나 이 함수는 노드의 유형에 따라 다른 동작을 합니다.
노드의 유형에 따라 다른 동작을 하는 이유는 DOMDocument::adoptNode 함수가 노드의 유형에 따라 다른 처리를 하기 때문입니다. 예를 들어, Element 노드는 다른 문서에 추가할 수 있지만 Text 노드는 추가할 수 없습니다. 이는 DOMDocument::adoptNode 함수가 Text 노드를 다른 문서에 추가하는 것이 의미가 없기 때문입니다.
Text 노드를 다른 문서에 추가하고 싶다면, Text 노드를 Element 노드에 포함시켜서 추가하는 방법을 사용할 수 있습니다. 예를 들어, Text 노드를 Element 노드의 자식 노드로 추가할 수 있습니다.
다음은 Text 노드를 Element 노드에 포함시키는 예제입니다.
#hostingforum.kr
php
$doc1 = new DOMDocument();
$doc1->loadXML('Hello');
$doc2 = new DOMDocument();
$doc2->loadXML('');
$textNode = $doc1->getElementsByTagName('text')->item(0);
$elementNode = $doc2->getElementsByTagName('root')->item(0);
$doc2->importNode($textNode, true);
$elementNode->appendChild($textNode);
echo $doc2->saveXML();
이 예제에서는 Text 노드를 Element 노드에 포함시키고 Element 노드를 다른 문서에 추가하는 방법을 보여줍니다.
2025-05-02 01:04