NodeEnumeratorObject

NodeEnumeratorObjectを使用すると、ノードのリストをより効率的に操作できます。一度にリスト全体をすべて作成するかわりに、列挙子が必要に応じて一度に1つのノードを取得します。リストの中ほどで探していたものが見つかった場合は、列挙子を中断できます。ノード・オブジェクトのArrayを戻すプロパティおよびメソッドは、配列の最後のアイテムにアクセスするかどうかに関係なく、配列全体をすぐに作成する必要があります。

列挙子は、現在の値をnullとして開始されます。列挙子をリストの最初のノードに進めるには、MoveNext()を呼び出す必要があります。

注意:

検索するノードが、可能性のあるすべての一致の中のいくつかのみで、リストを反復するのが一度のみの場合は、AncestorsWithまたはSiblingsWithメソッドなど、Withメソッドを使用することをお薦めします。祖先ノードのリストを何度も繰り返す必要がある場合や、祖先の大部分またはすべてが必要であることがわかっている場合は、列挙子の方が高速です。

表31.  NodeEnumeratorObjectメソッド

名前

説明

GetCurrent()

現在のノード(コンテキストにより、NodeObjectまたはLocalNodeObject)。

MoveNext()

列挙子を次のノードに進めます。列挙するノードが存在しない場合はFalseが戻されます。