Node

Node (문서 트리의 단일 노드)

Node 인터페이스는 전체 Document Object Model(DOM)의 기본 데이터 타입이에요. 문서 트리에서 단일 노드를 나타내요.

출처: Java API Reference

본문

Node 인터페이스를 구현하는 모든 객체는 자식을 다루는 메서드를 노출하지만, 모든 객체가 자식을 가질 수 있는 것은 아니에요. 예를 들어 Text 노드는 자식을 가질 수 없고, 그런 노드에 자식을 추가하면 DOMException이 발생해요.

nodeName, nodeValue, attributes 속성은 구체적인 파생 인터페이스로 캐스팅하지 않고도 노드 정보를 얻을 수 있는 메커니즘이에요. 특정 nodeType에 대해 이들 속성이 명확하게 대응되지 않는 경우(예: ElementnodeValue, Commentattributes)에는 null을 반환해요.

노드 타입은 다음 상수로 구분돼요: ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE, ENTITY_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, DOCUMENT_FRAGMENT_NODE, NOTATION_NODE.

자식 관리 메서드로는 insertBefore, replaceChild, removeChild, appendChild가 있고, 트리 탐색을 위한 getParentNode, getChildNodes, getFirstChild, getLastChild, getPreviousSibling, getNextSibling, getOwnerDocument가 있어요. 문서 상대 위치를 비교하는 compareDocumentPosition과 사용자 데이터를 다루는 setUserData, getUserData도 제공해요.

더 알아보기 (Learn more)

Java 공식 API