Interstage Shunsaku Data Manager アプリケーション開発ガイド - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 - |
目次
索引
![]() ![]() |
第2部 APIでのアプリケーション開発 | > 第10章 .NET APIのアプリケーション開発 | > 10.3 .NET APIの使用方法 | > 10.3.2 データの検索 |
検索した結果をある特定の要素をキーとしてソートして取得したい場合があります。
データの部分情報をソートして取得するには、ShunSearchRequirementオブジェクトのSortExpressionプロパティを使用します。
データをソートして取得する場合の流れについて、以下の図に示します。
ソートを行う場合には、検索条件に一致したすべてのXML文書を参照してソート処理を行います。検索式には、結果件数が適正な値となるような条件を指定し、ソート対象のデータを絞ることが応答性能をよくするポイントです。ソートを実施する前に検索条件に一致したXML文書の件数を調べるには、GetHitCountメソッドに検索条件を設定して使用します。
ShunService service = new ShunService(); service.Connect(); ShunSearchRequirement req = new ShunSearchRequirement(); (1) req.QueryExpression = "/document/base/prefecture == '大阪'"; (1) req.ReturnExpression = "/document/base/name, /document/base/price"; (1) req.SortExpression = "val(/document/base/price/text()) DESC"; (1) ShunResultSet rs = service.Search( req ); (2) Console.WriteLine ( "[ヒット件数] = {0}", rs.HitCount ); int i = 0; foreach ( ShunRecord record in rs.Records ) { (3) ++i; Console.WriteLine( "[結果] {0}件目 = {1}", i, record.Data ); (3) } service.Disconnect(); |
Dim service As New ShunService() service.Connect() Dim req As New ShunSearchRequirement() (1) req.QueryExpression = "/document/base/prefecture == '大阪'" (1) req.ReturnExpression = "/document/base/name, /document/base/price" (1) req.SortExpression = "val(/document/base/price/text()) DESC" (1) Dim rs As ShunResultSet = service.Search( req ) (2) Console.WriteLine( "[ヒット件数] = {0}", rs.HitCount ) Dim i As Integer = 0 For Each record As ShunRecord In rs.Records (3) i += 1 Console.WriteLine( "[結果] {0}件目 = {1}", i, record.Data ) (3) Next service.Disconnect() |
ShunSearchRequirementオブジェクトを作成し、検索条件として以下のプロパティを設定します。ソートを行う場合は、SortExpressionプロパティにソート式を設定します。
プロパティ |
説明 |
---|---|
QueryExpression |
検索式を指定します。省略はできません。 |
ReturnExpression |
リターン式を指定します。 |
SortExpression |
ソート式を指定します。ソートしない場合は、省略します。 |
ReplyNumber |
返信開始番号を指定します。省略した場合、1が指定されます。 |
RequestCount |
返信要求件数を指定します。省略した場合、検索した結果から得られる件数はconductor用動作環境ファイルまたはdirector用動作環境ファイルのAnsMaxに設定された値となります。 |
検索式およびリターン式の詳細は、“付録B 検索式、リターン式およびソート式の書式”を参照してください。
ソート式の詳細は、“B.5 ソート式”を参照してください。
ソート式に指定したキーの長さによって返却できる件数が決まります。最大件数は1000件です。返信開始番号や返信要求件数に返却可能な最大件数を超える値を指定しても、それ以上のデータは返却することができません。返却可能なデータの最大件数は、ReturnableCountプロパティで取得できます。
キーの長さと返却可能なデータ件数の目安については、“付録C 定量値”を参照してください。
取得開始位置を指定することにより、続きのデータを取り出すことができます。これにより1000件以上のデータを取り出すことができます。詳細については、“10.3.2.7 条件に一致するXML文書を連続して取得する”を参照してください。
検索は、Searchメソッドに検索条件を設定したShunSearchRequirementオブジェクトを指定し、使用します。検索した結果としてShunResultSetオブジェクトが作成されます。
ShunResultSetオブジェクトから1件分のデータに相当するShunRecordオブジェクトを取り出し、ShunRecordオブジェクトからXML文書を取り出します。
XML文書を取り出すには、目的に応じて以下のプロパティまたはメソッドを使用します。使用可能なプロパティおよびメソッドについては以下の表を参照してください。
プロパティ名またはメソッド名 |
機能説明 |
---|---|
Dataプロパティ |
XML文書をStringオブジェクトで取り出します。 |
GetDividedDataメソッド |
XML文書をStringオブジェクトの2次元配列で取り出します。 |
GetStreamメソッド |
XML文書をStreamオブジェクトで取り出します。 |
目次
索引
![]() ![]() |