XML DOM Element オブジェクト

Element オブジェクト

Element オブジェクトは XML 文書の要素を表します。要素は属性、他の要素、またはテキストを含むことができます。要素がテキストを含む場合、そのテキストはテキストノードで表されます。

重要事項:テキストは常にテキストノードに保存されます。DOM処理中の一般的なエラーは、要素ノードに移動してそのノードがテキストを持つと考えてしまうことです。しかし、最も単純な要素ノードの下にもテキストノードがあります。例えば、<year>2005</year> では、要素ノード(year)が存在し、そのノードの下にテキストノードがあり、テキスト(2005)が含まれています。

Element オブジェクトもノードの一種であり、Node オブジェクトの属性とメソッドを継承できます。

Element オブジェクトの属性

属性 描述
属性 要素の属性の 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) 指定特性和版本的专用 API 实现的 DOM 对象返回。
getUserData(key) 与节点上的键关联的对象返回。必须首先将对象设置到此节点,通过使用相同的键来调用 setUserData。
hasAttribute() 指定名称匹配的属性是否存在于元素中。
hasAttributeNS() 要素が指定された名前と名前空間に一致する属性を持っているかどうかを返します。
hasAttributes() 要素が属性を持っているかどうかを返します。
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属性として宣言します。