8.6.2.2 Node オブジェクト

XML 文書の全ての構成要素は Node のサブクラスです。

nodeType
ノード (node) の型を表現する整数値です。型に対応する以下の シンボル定数: ELEMENT_NODEATTRIBUTE_NODETEXT_NODECDATA_SECTION_NODEENTITY_NODEPROCESSING_INSTRUCTION_NODECOMMENT_NODEDOCUMENT_NODEDOCUMENT_TYPE_NODENOTATION_NODE 、 が Node オブジェクトで定義されています。 読み出し専用の属性です。

parentNode
現在のノードの親ノードか、文書ノードの場合には None になります。この値は常に Node オブジェクトか None になります。Element ノードの場合、この値はルート要素 (root element) の場合を除き親要素 (parent element) となり、 ルート要素の場合には Document オブジェクトとなります。 Attr ノードの場合、この値は常に None となります。 読み出し専用の属性です。

attributes
属性オブジェクトの NamedNodeMap です。要素だけがこの属性に 実際の値を持ちます; その他のオブジェクトでは、この属性を None にします。 読み出し専用の属性です。

previousSibling
このノードと同じ親ノードを持ち、直前にくるノードです。例えば、 self 要素のの開始タグの直前にくる終了タグを持つ要素です。 もちろん、XML 文書は要素だけで構成されているだけではないので、 直前にくる兄弟関係にある要素 (sibling) はテキストやコメント、 その他になる可能性があります。このノードが親ノードにおける 先頭の子ノードである場合、属性値は None になります。 読み出し専用の属性です。

nextSibling
このノードと同じ親ノードを持ち、直後にくるノードです。例えば、 previousSibling も参照してください。 このノードが親ノードにおける末尾頭の子ノードである場合、 属性値は None になります。 読み出し専用の属性です。

childNodes
このノード内に収められているノードからなるリストです。 読み出し専用の属性です。

firstChild
このノードに子ノードがある場合、その先頭のノードです。 そうでない場合 None になります。 読み出し専用の属性です。

lastChild
このノードに子ノードがある場合、その末尾のノードです。 そうでない場合 None になります。 読み出し専用の属性です。

localName
tagName にコロンがあれば、コロン以降の部分に、なければ tagName 全体になります。値は文字列です。

prefix
tagName のコロンがあれば、コロン以前の部分に、なければ 空文字列になります。値は文字列か、None になります。

namespaceURI
要素名に関連付けられた名前空間です。文字列か None に なります。読み出し専用の属性です。

nodeName
この属性はノード型ごとに異なる意味を持ちます; 詳しくは DOM 仕様を 参照してください。この属性で得られることになる情報は、全てのノード 型では tagName 、属性では name プロパティといった ように、常に他のプロパティで得ることができます。全てのノード型で、 この属性の値は文字列か None になります。 読み出し専用の属性です。

nodeValue
この属性はノード型ごとに異なる意味を持ちます; 詳しくは DOM 仕様を 参照してください。その序今日は nodeName と似ています。 この属性の値は文字列か None になります。

hasAttributes( )
ノードが何らかの属性を持っている場合に真を返します。

hasChildNodes( )
ノードが何らかの子ノードを持っている場合に真を返します。

isSameNode( other)
other がこのノードと同じノードを参照している場合に真を返します。 このメソッドは、何らかのプロキシ (proxy) 機構を利用するような DOM 実装で特に便利です (一つ以上のオブジェクトが同じノードを参照 するかもしれないからです)。

注意: このメソッドは DOM レベル 3 API で提案されており、まだ ``ワーキングドラフト(working draft)'' の段階です。しかし、 このインタフェースだけは議論にはならないと考えられます。 W3C による変更は必ずしも Python DOM インタフェースにおける このメソッドに影響するとは限りません (ただしこのメソッドに 対する何らかの新たな W3C API もサポートされるかもしれません)。

appendChild( newChild)
現在のノードの子ノードリストの末尾に新たな子ノードを追加し、 newChild を返します。

insertBefore( newChild, refChild)
新たな子ノードを既存の子ノードの前に挿入します。refChild は現在のノードの子ノードである場合に限られます; そうでない場合、 ValueError が送出されます。 newChild が返されます。 もしrefChildNoneなら、newChildを子ノードリストの 最後に挿入します。

removeChild( oldChild)
子ノードを削除します。oldChild はこのノードの子ノードでなければ なりません。そうでない場合、ValueError が送出されます。 成功した場合 oldChild が返されます。 oldChild をそれ以降使わない場合、unlink() メソッドを 呼び出さなければなりません。

replaceChild( newChild, oldChild)
既存のノードと新たなノードを置き換えます。この操作は oldChild が現在のノードの子ノードである場合に限られます; そうでない場合、 ValueError が送出されます。

normalize( )
一続きのテキスト全体を一個の Text インスタンスとして保存する ために隣接するテキストノードを結合します。これにより、多くの アプリケーションで DOM ツリーからのテキスト処理が簡単になります。 バージョン 2.1 で 新たに追加 された仕様です。

cloneNode( deep)
このノードを複製 (clone) します。deep を設定すると、子ノードも 同様に複製することを意味します。複製されたノードを返します。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。