Node インターフェースは文書オブジェクトモデル全体の主要なデータタイプです。文書ツリーの単体のノードを表します。Node インターフェースを実装するすべてのオブジェクトが子ノードを処理するためのメソッドを公開しますが、Node インターフェースを実装するすべてのオブジェクトが子ノードを持つとは限りません。例えば、Text ノードには子ノードがないことがありますが、このようなノードに子ノードを追加すると、DOMException が発生します。nodeName や nodeValue 属性は、特定の継承元のインターフェースまで対象を広げなくても、ノードの情報を取得するためのメカニズムとして組み込まれています。これらの属性を (例えば nodeValue を Element に、または属性を Comment にマップするなど) 特定の nodeType に明確にマップしていない場合は、Null が返されます。特別なインターフェースには、適切な情報を取得し設定するために、より便利な追加のメカニズムが組み込まれている可能性があります。
NodeTypes は次の通りです。
ELEMENT_NODE
public static final short ELEMENT_NODE
ATTRIBUTE_NODE
public static final short ATTRIBUTE_NODE
TEXT_NODE
public static final short TEXT_NODE
CDATA_SECTION_NODE
public static final short CDATA_SECTION_NODE
ENTITY_REFERENCE_NODE
public static final short ENTITY_REFERENCE_NODE
ENTITY_NODE
public static final short ENTITY_NODE
PROCESSING_INSTRUCTION_NODE
public static final short PROCESSING_INSTRUCTION_NODE
COMMENT_NODE
public static final short COMMENT_NODE
DOCUMENT_NODE
public static final short DOCUMENT_NODE
DOCUMENT_TYPE_NODE
public static final short DOCUMENT_TYPE_NODE
DOCUMENT_FRAGMENT_NODE
public static final short DOCUMENT_FRAGMENT_NODE
NOTATION_NODE
public static final short NOTATION_NODE .
メソッドについては、以下を参照してください。
newChild ノードを、このノードの子ノードのリストの最後に追加します。newChild がツリーにすでにある場合は、先に削除されます。
構文:
public Node appendChild(Node newChild)
throws DOMException
パラメータ
newChild - 追加するノードです。newChild が DocumentFragment オブジェクトなら、文書の断片の内容全体が、このノードの子ノードリストに移動されます。
戻り値:
追加されたノードです。
例外処理:
DOMException - HIERARCHY_REQUEST_ERR: ノードが、newChild ノードのタイプの子ノードを許可しないタイプの場合に発生します。あるいは、追加するノードが、このノードの上位ノードである場合に発生します。
WRONG_DOCUMENT_ERR: newChild がこのノードを生成した文書以外の文書から生成された場合に発生します。
NO_MODIFICATION_ALLOWED_ERR: このノードが読み込み専用の場合に発生します。
このノードの複製を返します。つまり、ノードを複製するための汎用的なコンストラクタの役割を果たします。複製したノードには親ノードは存在しません (parentNode は Null を返します)。
Element のクローンを生成すると、属性とその値もすべてコピーされます。これらは XML プロセッサがデフォルトの属性を表すために生成した情報も含みます。しかしこのメソッドでは、ノードが深層の (deep) クローンでない限り、ノードに含まれる Text はコピーされません。これは Text が子の Text ノードに含まれているためです。他のタイプのノードのクローンを生成すると、単にこのノードのコピーが返されます。
構文:
public Node cloneNode(boolean deep)
パラメータ
deep - true なら、指定したノードの下のサブツリーのクローンを再帰的に作成します。false なら、ノードのクローン (ノードが Element の場合は属性も含めて) のみを作成します。
戻り値:
複製されたノードを返します。
(ノードが Element なら) このノードの属性を含む NamedNodeMap です。それ以外は Null です。
構文:
public NamedNodeMap getAttributes()
このノードのすべての子ノードを含む NodeList です。子ノードがない場合は、ノードを含まない NodeList になります。返される NodeList の内容は「動的」です。例えば、NodeList 生成の元になったノードオブジェクトの子ノードへの変更は、NodeList へのアクセサーによって返されるノードにすぐに反映されます。これはノードの内容の静的なスナップショットではありません。このことは、getElementsByTagName メソッドで返されたリストも含めてすべての NodeList に当てはまります。
構文:
public NodeList getChildNodes()
このノードの最初の子ノードです。すぐ前のノードが存在しない場合は、Null が返されます。
構文:
public Node getFirstChild()
このノードの最後の子ノードです。すぐ前のノードが存在しない場合は、Null が返されます。
構文:
public Node getLastChild()
このノードのすぐ次に続くノードです。すぐ前のノードが存在しない場合は、Null が返されます。
構文:
public Node getNextSibling()
このノードの名前です。タイプによります。上記の NodeType リストを参照してください。
構文:
public java.lang.String getNodeName()
下にあるオブジェクトのタイプを表すコードです。上記の NodeType リストを参照してください。
構文:
public short getNodeType()
このノードの値です。タイプによります。上記の NodeType リストを参照してください。
構文:
public java.lang.String getNodeValue()
throws DOMException
例外処理:
DOMException - NO_MODIFICATION_ALLOWED_ERR: ノードが読み込み専用の場合に発生します。
DOMException - DOMSTRING_SIZE_ERR: 実装プラットフォーム上の DOMString 変数の許容量を超える文字列が返された場合に発生します。
このノードに関連する Document オブジェクトです。新規のノードを作成するのに使用される Document オブジェクトでもあります。このノードが Document の場合は、Null が返されます。
構文:
public Document getOwnerDocument()
このノードの親ノードです。Document、DocumentFragment、Attr 以外のすべてのノードは親を持つことができます。しかしノードが作成された直後でまだツリーに追加されていない場合、またはツリーから削除された場合は、Null になります。
構文:
public Node getParentNode()
このノードのすぐ前のノードです。すぐ前のノードが存在しない場合は、Null が返されます。
構文:
public Node getPreviousSibling()
ノードに子ノードが存在するかを簡単に確認できるようにするためのメソッドです。
構文:
public boolean hasChildNodes()
戻り値:
ノードに子があれば true を返します。子がなければ false です。
既存の子ノード refChild の前に newChild ノードを挿入します。refChild が Null の場合、子ノードリストの最後に newChild を追加します。newChild が DocumentFragment オブジェクトの場合、すべての子ノードが、同じ順番で refChild の前に挿入されます。newChild がツリーにすでにある場合は、先に削除されます。
構文:
public Node insertBefore(Node newChild, Node refChild)
throws DOMException
パラメータ
newChild - 挿入するノードです。
refChild - 参照ノードです。新規のノードがその前に挿入されます。
戻り値:
挿入されたノードです。
例外処理:
DOMException - HIERARCHY_REQUEST_ERR: ノードが、newChild ノードのタイプの子ノードを許可しないタイプの場合に発生します。あるいは、挿入するノードが、このノードの上位ノードである場合に発生します。
WRONG_DOCUMENT_ERR: newChild がこのノードを生成した文書以外の文書から生成された場合に発生します。
NO_MODIFICATION_ALLOWED_ERR: このノードが読み込み専用の場合に発生します。
NOT_FOUND_ERR: refChild がこのノードの子ノードでない場合に発生します。
子ノードのリストから oldChild で指定された子ノードを削除し、削除したノードを返します。
構文:
public Node removeChild(Node oldChild)
throws DOMException
パラメータ
oldChild - 削除するノードです。
戻り値:
削除されたノードです。
例外処理:
DOMException - NO_MODIFICATION_ALLOWED_ERR: このノードが読み込み専用の場合に発生します。
NOT_FOUND_ERR: oldChild がこのノードの子ノードでない場合に発生します。
子ノードリストで、子ノード oldChild を newChild で置き換え、oldChild ノードを返します。newChild がツリーにすでにある場合は、先に削除されます。
構文:
public Node replaceChild(Node newChild, Node oldChild)
throws DOMException
パラメータ
newChild - 子ノードリストに追加される新規のノードです。
oldChild - 子ノードリストで置換されるノードです。
戻り値:
置換されるノードです。
例外処理:
DOMException - HIERARCHY_REQUEST_ERR: ノードが、newChild ノードのタイプの子ノードを許可しないタイプの場合に発生します。あるいは、追加するノードが、このノードの上位ノードである場合に発生します。
WRONG_DOCUMENT_ERR: newChild がこのノードを生成した文書以外の文書から生成された場合に発生します。
NO_MODIFICATION_ALLOWED_ERR: このノードが読み込み専用の場合に発生します。
NOT_FOUND_ERR: oldChild がこのノードの子ノードでない場合に発生します。
構文:
public void setNodeValue(java.lang.String nodeValue)
throws DOMException