XML DOM - Element 객체

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

Element 객체

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

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

Element 객체는 노드 객체의 속성과 메서드를 상속받을 수 있습니다.

Element 객체의 속성

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

Element 객체의 메서드

메서드 설명 IE F O W3C
appendChild() 노드의 자식 노드 목록의 마지막에 새 자식 노드를 추가합니다. 5 1 9
cloneNode() 노드를 복제합니다. 5 1 9
compareDocumentPosition() 두 노드의 문서 위치를 비교합니다. 아니요 1 아니요
dispatchEvent() 노드에 합성 이벤트를 할당합니다. 아니요 1 9
getAttribute() 返回属性的值。 5 1 9
getAttributeNS() 返回属性的值。 아니요 1 9
getAttributeNode() 以 Attribute 对象返回属性节点。 5 1 9
getAttributeNodeNS() 以 Attribute 对象返回属性节点。 아니요   9
getElementsByTagName() 找到具有指定标签名的子孙元素。 5 1 9
getElementsByTagNameNS() 找到具有指定标签名和命名空间的元素。 아니요 1 9
getFeature(feature,version) 返回 DOM 对象,此对象可执行拥有指定特性和版本的专门的 API。     아니요
getUserData(key) 返回关联节点上键的对象。此对象必须首先通过使用相同的键来调用 setUserData 来设置到此节点。     아니요
hasAttribute() 返回元素是否拥有指定的属性。 5 1 9
hasAttributeNS() 返回元素是否拥有指定的属性。 아니요 1 9
hasAttributes() 返回元素是否拥有属性。 5 1 9
hasChildNodes() 返回元素是否拥有子节点。 5 1 9
insertBefore() 在已有的子节点之前插入一个新的子节点。 5 1 9
isDefaultNamespace(URI) 返回指定的命名空间 URI 是否为默认。     아니요
isEqualNode() 检查两节点是否相等。 아니요 아니요 아니요
isSameNode() 检查两节点是否为同一节点。 아니요 1 아니요
isSupported(feature,version) 返回指定的特性是否在此元素上得到支持。     9
lookupNamespaceURI() 返回匹配指定前缀的命名空间 URI。 아니요 1 아니요
lookupPrefix() 返回匹配指定的命名空间 URI 的前缀。 아니요 1 아니요
normalize()   5 1 9
removeAttribute() 删除指定的属性。 5 1 9
removeAttributeNS() 删除指定的属性。 아니요 1 9
removeAttributeNode() 删除指定的属性节点。 5 1 9
removeChild() 删除子节点。 5 1 9
replaceChild() 替换子节点。 5 1 9
setUserData(key,data,handler) 把对象关联到元素上的键。     아니요
setAttribute() 添加新属性。 5 1 9
setAttributeNS() 添加新属性。   1 9
setAttributeNode() 새로운 속성 노드를 추가합니다。 5 1 9
setAttributeNodeNS(attrnode) 새로운 속성 노드를 추가합니다。     9
setIdAttribute(name,isId) Attribute 객체의 isId 속성이 true라면, 이 메서드는 지정된 속성을 사용자가 결정한 ID 속성으로 선언합니다(사용자 결정 ID 속성)。     아니요
setIdAttributeNS(uri,name,isId) Attribute 객체의 isId 속성이 true라면, 이 메서드는 지정된 속성을 사용자가 결정한 ID 속성으로 선언합니다(이름 공간을 포함한 사용자 결정 ID 속성)。     아니요
setIdAttributeNode(idAttr,isId) Attribute 객체의 isId 속성이 true라면, 이 메서드는 지정된 속성을 사용자가 결정한 ID 속성으로 선언합니다(사용자 결정 ID 속성)。     아니요