XML DOM Element 객체

Element 객체

Element 객체는 XML 문서의 요소를 나타냅니다. 요소는 속성, 다른 요소, 또는 텍스트를 포함할 수 있습니다. 요소가 텍스트를 가지고 있다면, 이 텍스트는 텍스트 노드에서 표현됩니다.

중요 사항:텍스트는 항상 텍스트 노드에 저장됩니다. DOM 처리 과정에서 일반적인 오류는, 요소 노드로 이동하여 이 노드가 텍스트를 가지고 있다고 생각하는 것입니다. 그러나, 가장 간단한 요소 노드 아래에도 텍스트 노드가 있습니다. 예를 들어, <year>2005</year>에서는 요소 노드(year)가 있으며, 이 노드 아래에는 텍스트 노드가 있으며, 이 텍스트 노드에는 텍스트(2005)가 있습니다.

Element 객체도 노드이므로 Node 객체의 속성과 메서드를 상속할 수 있습니다.

Element 객체의 속성

속성 설명
attributes 요소의 속성의 NamedNodeMap을 반환합니다.
baseURI 요소의 절대 기준 URI를 반환합니다.
childNodes 요소의 자식 노드 NodeList를 반환합니다.
firstChild 요소의 첫 번째 자식 요소를 반환합니다.
lastChild 요소의 마지막 자식 요소를 반환합니다.
localName 요소 이름의 로컬 부분을 반환합니다.
namespaceURI 요소의 이름 공간 URI를 반환합니다.
nextSibling 이 요소 뒤에 있는 노드를 반환합니다.
nodeName 노드의 이름을 반환합니다. 타입에 따라 다릅니다.
nodeType 노드의 타입을 반환합니다.
ownerDocument 요소의 루트 요소(문서 객체)를 반환합니다.
parentNode 요소의 부모 노드를 반환합니다.
prefix 요소의 이름 공간 접두사를 설정하거나 반환합니다.
previousSibling 이 요소 앞에 있는 노드를 반환합니다.
schemaTypeInfo 요소와 관련된 타입 정보를 반환합니다.
tagName 요소의 이름을 반환합니다.
textContent 요소 및 그 자식의 텍스트 내용을 설정하거나 반환합니다.

Element 객체의 메서드

메서드 설명
appendChild() 새 자식 노드를 이 노드의 자식 노드 목록의 마지막에 추가합니다.
cloneNode() 노드를 복사합니다.
compareDocumentPosition() 두 노드의 문서 위치를 비교합니다.
getAttribute() 속성의 값을 반환합니다.
getAttributeNS() 이름 공간을 가진 속성의 값을 반환합니다.
getAttributeNode() 속성 노드를 Attribute 객체로 반환합니다.
getAttributeNodeNS() 이름 공간을 가진 속성 노드를 Attribute 객체로 반환합니다.
getElementsByTagName() 이름 공간을 가진 요소 노드 및 그 자식 노드와 일치하는 NodeList를 반환합니다.
getElementsByTagNameNS() 이름 공간을 가진 요소 노드 및 그 자식 노드와 일치하는 NodeList를 반환합니다.
getFeature(feature,version) 지정된 특성과 버전을 구현한 DOM 객체를 반환합니다.
getUserData(key) 노드에 연결된 객체를 반환합니다. 객체를 이 노드에 설정해야 하며 setUserData를 호출하여 같은 키를 사용해야 합니다.
hasAttribute() 요소가 지정된 이름과 일치하는 속성을 가지고 있는지 확인합니다.
hasAttributeNS() 이 요소가 지정된 이름과 이름 공간을 가진 속성을 가지고 있는지 확인합니다.
hasAttributeNS() 이 요소가 지정된 이름과 이름 공간을 가진 속성을 가지고 있는지 확인합니다.
hasChildNodes() 이 요소가 자식 노드를 가지고 있는지 확인합니다.
insertBefore() 존재하는 자식 노드 앞에 새로운 자식 노드를 삽입합니다.
isDefaultNamespace(URI) 지정된 namespaceURI가 기본적인지 확인합니다.
isEqualNode() 두 노드가 같은지 확인합니다.
lookupNamespaceURI() 지정된 접두사와 일치하는 이름 공간 URI를 반환합니다.
lookupPrefix() 지정된 이름 공간 URI와 일치하는 접두사를 반환합니다.
normalize()

normalize() 메서드는 비어 있는 텍스트 노드를 제거하고 인접한 텍스트 노드를 연결합니다.

요소 아래의 모든 텍스트 노드(속성 포함)를 정규화하며, 텍스트 노드를 구조(예: 요소, 주석, 처리 지시, CDATA 부분 및 엔티티 참조)로 구분합니다.

즉, 인접한 텍스트 노드가 없으며, 비어 있는 텍스트 노드도 없습니다.

removeAttribute() 지정된 속성을 제거합니다.
removeAttributeNS() 지정된 속성(이름 공간을 포함한)을 제거합니다.
removeAttributeNode() 지정된 속성 노드를 제거합니다.
removeChild() 자식 노드를 제거합니다.
replaceChild() 자식 노드를 대체합니다.
setUserData(key,data,handler) 오브젝트를 요소의 키와 연결합니다.
setAttribute() 새로운 속성을 추가합니다.
setAttributeNS() 이름 공간을 포함한 새로운 속성을 추가합니다.
setAttributeNode() 이름 공간을 포함한 새로운 속성 노드를 추가합니다.
setAttributeNodeNS(attrnode) 이름 공간을 포함한 새로운 속성 노드를 추가합니다.
setIdAttribute(name,isId) Attribute 객체의 isId 속성이 true라면, 이 메서드는 지정된 속성을 사용자 정의된 ID 속성으로 선언합니다.
setIdAttributeNS(uri,name,isId) Attribute 객체의 isId 속성이 true라면, 이 메서드는 지정된 속성(이름 공간을 포함한)을 사용자 정의된 ID 속성으로 선언합니다.
setIdAttributeNode(idAttr,isId) Attribute 객체의 isId 속성이 true라면, 이 메서드는 지정된 속성을 사용자 정의된 ID 속성으로 선언합니다.