라이브러리

[PHP] DOMNode::compareDocumentPosition - 두 노드의 위치를 ​​비교합니다.




DOMNode::compareDocumentPosition


DOMNode::compareDocumentPosition() 메소드는 두 DOM 노드 간의 위치를 비교하는 메소드입니다. 이 메소드는 두 노드의 위치를 16진수 비트 마스크로 반환합니다.

# 반환 값


compareDocumentPosition() 메소드는 두 노드의 위치를 비교하여 16진수 비트 마스크를 반환합니다. 이 비트 마스크는 다음과 같은 의미를 가집니다.

- 0x01: 이전 노드
- 0x02: 다음 노드
- 0x04: 이전 형제 노드
- 0x08: 다음 형제 노드
- 0x10: 동일 노드
- 0x20: 부모 노드
- 0x40: 자식 노드
- 0x80: 같은 문서

# 예제


다음 예제는 compareDocumentPosition() 메소드의 사용법을 보여줍니다.

#hostingforum.kr
php

// DOMDocument 객체를 생성합니다.

$doc = new DOMDocument();

$doc->loadXML('');



// DOM 노드 객체를 생성합니다.

$root = $doc->documentElement;

$a = $root->firstChild;

$b = $a->firstChild;

$c = $root->lastChild;



// compareDocumentPosition() 메소드를 사용하여 두 노드의 위치를 비교합니다.

$position = $b->compareDocumentPosition($c);



// 반환된 비트 마스크를 출력합니다.

echo "비트 마스크: $position
";



// 비트 마스크를 16진수 비트로 변환하여 출력합니다.

echo "비트 마스크 (16진수): " . decbin($position) . "
";



이 예제에서는 compareDocumentPosition() 메소드를 사용하여 두 노드의 위치를 비교합니다. 반환된 비트 마스크를 출력하여 두 노드의 위치를 확인할 수 있습니다.

# 결과


이 예제의 결과는 다음과 같습니다.

#hostingforum.kr


비트 마스크: 20

비트 마스크 (16진수): 10100



이 결과에서, 비트 마스크 20은 0x14로 변환됩니다. 이 비트 마스크는 다음을 의미합니다.

- 0x10: 이전 형제 노드
- 0x04: 다음 노드

따라서, 노드 $b는 노드 $c의 이전 형제 노드입니다.

결론


DOMNode::compareDocumentPosition() 메소드는 두 DOM 노드 간의 위치를 비교하는 메소드입니다. 이 메소드는 두 노드의 위치를 16진수 비트 마스크로 반환합니다. 이 비트 마스크를 사용하여 두 노드의 위치를 확인할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색