라이브러리
[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진수 비트 마스크로 반환합니다. 이 비트 마스크를 사용하여 두 노드의 위치를 확인할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.