라이브러리

[PHP] DOMDocument::importNode - 현재 문서로 노드 가져오기




DOMDocument::importNode


DOMDocument::importNode 메소드는 DOMDocument 객체에서 노드를 가져와 다른 노드 트리에서 사용할 수 있도록 합니다. 이 메소드는 노드를 복사하지 않고, 원본 노드의 참조를 새로운 노드 트리에 가져옵니다.

사용 방법


DOMDocument::importNode 메소드는 두 개의 매개변수를 받습니다.

* `$node`: 가져올 노드의 참조
* `$deep`: 가져올 노드의 자식 노드도 가져오는지 여부 (기본값은 `false`)

예제


# 예제 1: 노드 가져오기


#hostingforum.kr
php

// DOMDocument 객체 생성

$doc = new DOMDocument();

$doc->loadHTML('이것은 자식 노드입니다.');



// 노드 가져오기

$childNode = $doc->getElementsByTagName('child')->item(0);

$importedNode = $doc->importNode($childNode, true);



// 가져온 노드를 새로운 노드 트리에 추가

$newDoc = new DOMDocument();

$newDoc->appendChild($newDoc->importNode($importedNode, true));



// 결과 출력

echo $newDoc->saveHTML();



# 예제 2: 노드 가져오기 (자식 노드 가져오지 않음)


#hostingforum.kr
php

// DOMDocument 객체 생성

$doc = new DOMDocument();

$doc->loadHTML('이것은 자식 노드입니다.');



// 노드 가져오기

$childNode = $doc->getElementsByTagName('child')->item(0);

$importedNode = $doc->importNode($childNode, false);



// 가져온 노드를 새로운 노드 트리에 추가

$newDoc = new DOMDocument();

$newDoc->appendChild($newDoc->importNode($importedNode, false));



// 결과 출력

echo $newDoc->saveHTML();



# 예제 3: 노드 가져오기 (자식 노드 가져오지 않음, 새로운 노드 트리에 추가)


#hostingforum.kr
php

// DOMDocument 객체 생성

$doc = new DOMDocument();

$doc->loadHTML('이것은 자식 노드입니다.');



// 노드 가져오기

$childNode = $doc->getElementsByTagName('child')->item(0);

$importedNode = $doc->importNode($childNode, false);



// 가져온 노드를 새로운 노드 트리에 추가

$newDoc = new DOMDocument();

$newDoc->appendChild($newDoc->importNode($doc->documentElement, true));

$newDoc->documentElement->appendChild($newDoc->importNode($importedNode, false));



// 결과 출력

echo $newDoc->saveHTML();



참고


DOMDocument::importNode 메소드는 노드를 복사하지 않고, 원본 노드의 참조를 새로운 노드 트리에 가져옵니다. 따라서, 가져온 노드를 수정하면 원본 노드도 수정됩니다. 또한, 가져온 노드는 새로운 노드 트리에만 존재하며, 원본 노드 트리에 존재하지 않습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 616 페이지

검색

게시물 검색