XML DOM XPathResult オブジェクト
- 前のページ DOM XPathExpression
- 次のページ DOM XSLTProcessor
XPath クエリの結果。
XPathResult オブジェクト
XPathResult オブジェクトは XPath 表現の値を表す。 Document.evaluate() および XPathExpression.evaluate() 戻る。XPath クエリは文字列、数字、ブール値、ノード、ノードのリストとして計算される。XPath 実現はノードのリストをいくつかの異なる方法で返すため、このオブジェクトは XPath クエリの実際の結果を取得するためにやや複雑な API を定義している。
XPathResult を使用するには、まず resultType 属性を確認します。この属性は XPathResult の定数を保存し、結果値を特定するために使用する属性およびメソッドを決定します。現在の resultType に定義されていないメソッドの呼び出しや、定義されていない属性の読み取りは例外を発生させます。
IE は XPathResult API をサポートしていません。IE で XPath 検索を実行するには、以下を参照してください: Node.selectNodes() および Node.selectSingleNode() .
XPathResult オブジェクトの定数
以下の定数は XPath 検索が返す可能性のあるタイプを定義しています。XPathResult オブジェクトの resultType 属性はこれらの値のうちの1つを保存し、オブジェクトがどのような結果を保存するかを指定します。これらの定数は Document.evaluate() および XPathExpression.evaluate() と一緒に使用され、期待される結果タイプを指定します。
これらの定数およびその意味は以下の通りです:
- ANY_TYPE
- この値を Document.evaluate() または XPathExpression.evaluate() に渡して、受け入れ可能な結果タイプを指定します。属性 resultType はこの値を設定しません。
- NUMBER_TYPE
- numbervalue が結果を保存します。
- STRING_TYPE
- stringvalue が結果を保存します。
- BOOLEAN_TYPE
- booleanValue が結果を保存します。
- UNORDERED_NODE_ITERATOR_TYPE
- この結果はノードの無序列表で、iterateNext() を繰り返し呼び出して null が返されるまで順にアクセスできます。このイテレーションプロセス中、ドキュメントは変更されてはなりません。
- ORDERED_NODE_ITERATOR_TYPE
- 結果はドキュメント内の属性に従って並べ替えられたノードリストで、iterateNext() を繰り返し呼び出して null が返されるまで順にアクセスできます。このイテレーションプロセス中、ドキュメントは変更されてはなりません。
- UNORDERED_NODE_SNAPSHOT_TYPE
- 結果はランダムアクセスのノードリストです。snapshotLength 属性はリストの長さを指定し、snapshotItem() メソッドは指定されたインデックスのノードを返します。ノードはドキュメント内での出現順とは一致しない可能性があります。この結果は「スナップショット」として、ドキュメントが変更された場合でも有効です。
- ORDERED_NODE_SNAPSHOT_TYPE
- この結果は、UNORDERED_NODE_SNAPSHOT_TYPE と同様にランダムアクセス可能なノードリストです。ただし、このリストはドキュメント内の順序に従って並べ替えられています。
- ANY_UNORDERED_NODE_TYPE
- singleNodeValue 属性は、クエリに一致するノードを参照します。一致するノードがない場合、null になります。複数のノードがクエリに一致する場合、singleNodeValue はどのノードでも可能です。
- FIRST_ORDERED_NODE_TYPE
- singleNodeValue は、ドキュメント内の最初にクエリに一致するノードを保存します。一致するノードがない場合、null になります。
XPathResult オブジェクトのインスタンス属性
ここには、resultType が特定の値を保存している場合にのみ有効な多くの属性があります。現在の resultType に定義されていない属性にアクセスすると、例外が発生します。
- booleanValue
- resultType が BOOLEAN_TYPE である場合、結果値を保存します。
- invalidIteratorState
- resultType が ITERATOR_TYPE の定数のいずれかであり、ドキュメントが変更されている場合、true になります;結果が返されたため、イテレータは無効になります。
- numberValue
- resultType が NUMBER_TYPE である場合、結果値を保存します。
- resultType
- XPath 検索でどのような結果を返すかを指定します。この値は前述の定数のいずれかです。この属性の値は、どの他の属性やメソッドを使用できるかを示します。
- singleNodeValue
- resultType が XPathResult.ANY_UNORDERED_NODE_TYPE または XPathResult.FIRST_UNORDERED_NODE_TYPE である場合、結果値を保存します。
- snapshotLength
- resultType が UNORDERED_NODE_SNAPSHOT_TYPE または ORDERED_NODE_ITERATOR_TYPE である場合、返されるノード数を指定します。この属性は snapshotItem() と組み合わせて使用されます。
- stringValue
- resultType が STRING_TYPE の場合、結果値を保存します。
XPathResult オブジェクトのメソッド
メソッド | 説明 |
---|---|
iterateNext() | resultType が UNORDERED_NODE_ITERATOR_TYPE または ORDERED_NODE_ITERATOR_TYPE の場合、このメソッドを使用します。 |
snapshotItem() | 指定されたインデックスのノードをリストに返します。このメソッドは、resultType が UNORDERED_NODE_SNAPSHOT_TYPE または ORDERED_NODE_SNAPSHOT_TYPE の場合にのみ使用できます。snapshotLength プロパティとこのメソッドを一緒に使用します。 |
- 前のページ DOM XPathExpression
- 次のページ DOM XSLTProcessor