hyeonga_code

Ajax_DOM_Document Object Model 과 XML 본문

Ajax

Ajax_DOM_Document Object Model 과 XML

hyeonga 2023. 10. 19. 05:59
반응형


- DOM_Document Objcet Model
    - 문서를 객체로 표현하기 위한 표준입니다.
    - HTML, XMl 등의 문서를 객체로 표현할 때 사용하는 API입니다.
    - DOM API는 문서를 트리 구조로 표현합니다.
    - document : DOM 트리에서 문서 전체를 나타냅니다.
    - root : document 노트 바로 파위에 위치합니다.

- DOM API를 사용한 노드 접근
    - 구성 요소
        - Document
            - 전체 문서
        - Element
            - 각 태그를 의미합니다.
            - 태그에 해당하는 노드가 매핑됩니다.
        - Text
            - 문자열 데이터를 의미합니다.
        - CDataSection
            - XML 문서의 CDATA 영역의 문자열 값을 저장합니다.

- Node 인터페이스
    - Element, Document, Text 등 주요 인터페이스가 상속받는 부모 인터페이스입니다.
    - 주요 프로퍼티
        - String nodeName
            - Document : #document
            - Element : 태그 이름
            - Text : #text
        - String nodeValue
            - Document : null
            - Element : null
            - Text : 문자열
        - unsigned short nodeType
        - Node parentNode
        - NodeList childeNodes
        - Node firstChild
        - Node lastChild
        - Node previousSibing
        - Node nextSibing
        - Document ownerDocument
    - NodeList 
        - length : NodeList에 저장된 노드의 개수
        - item(i) : 인덱스 i에 저장된 노드의 값
    - NodeType
        - ELEMENT_NODE [1]
        - ATTRIBUTE_NODE [2]
        - TEXT_NODE [3]
        - CDATA_SECTION_NODE [4]
        - ENTITY_REFERENCE_NODE [5]
        - ENTITY_NODE [6]
        - PROCESSING_INSTRUCTION_NODE [7]
        - COMMENT_NODE [8]
        - DOCUMENT_NODE [9]
        - DOCUMENT_TYPE_NODE [10]
        - DOCUMENT_FRAGMENT_NODE [11]
        - NOTATION_NODE [12]

- Document 인터페이스의 주요 프로퍼티/함수
    Element documentElement : 문서의 루트 노드를 의미합니다.


- 코드를 줄여 작성할 수 있으나 코드가 복잡해집니다.
    - DOM API로 두 개의 함수를 통해 간결하게 작성할 수 있습니다.
    NodeList getElementsByTagName(String tagName)
        - 지정한 이름의 태그에 해당하는 모든 Element의 목록을 구합니다.
    Element getElementByID(String elementId)
        - id 속성값이 elementId인 태그를 구합니다.

- Element 인터페이스의 주요 프로퍼티 및 함수
    - Element 인터페이스
        - 태그를 나타내는 인터페이스입니다.
    String tagName : 태그의 이름을 의미합니다.
    - String getAttribute(String name)
        - name에 해당하는 속성을 구합니다.
    - setAttribute(String name, String value)
        - 이름이 name인 속성의 값을 value로 저장합니다.
    - removeAttribute(String name)
        - 이름이 name인 속성을 제거합니다.

반응형