
DOMDocument::replaceChildren 메서드는 자식 노드를 모두 제거하고 새로운 노드를 추가하는 메서드입니다.
이 메서드는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 새로운 노드를 생성하는 DOMElement 인스턴스를 받으며, 두 번째 매개변수는 교체할 노드의 위치를 지정하는 DOMNodeList 인스턴스를 받습니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$xml = new DOMDocument();
$xml->loadXML('12');
$root = $xml->documentElement;
$root->replaceChildren($xml->createElement('child3'), $root->childNodes);
echo $xml->saveXML();
이 코드는 ``와 `` 노드를 모두 제거하고 `` 노드를 추가합니다.
이 메서드를 사용할 때는 주의할 점이 있습니다. 첫 번째 매개변수에 지정된 새로운 노드는 첫 번째 자식 노드가 됩니다. 두 번째 매개변수에 지정된 노드의 위치는 첫 번째 자식 노드부터 시작합니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$xml = new DOMDocument();
$xml->loadXML('12');
$root = $xml->documentElement;
$root->replaceChildren($xml->createElement('child3'), $root->childNodes->item(0));
echo $xml->saveXML();
이 코드는 `` 노드만 제거하고 `` 노드를 추가합니다.
이 메서드를 사용할 때는 주의할 점이 있습니다. 첫 번째 매개변수에 지정된 새로운 노드는 첫 번째 자식 노드가 됩니다. 두 번째 매개변수에 지정된 노드의 위치는 첫 번째 자식 노드부터 시작합니다.
따라서, 이 메서드를 사용할 때는 주의 깊게 코드를 작성해야 합니다.
2025-06-14 04:13