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 データの検索 |
XML文書の中から必要なXML文書を検索する場合、はじめからXML文書の全体を取得するのではなく、XML文書を識別するのに有効な部分情報を取得します。利用者は、これらの部分情報から詳細情報を取得したいXML文書を特定します。
XML文書の全体を取り出すには、部分情報を取り出したShunRecordオブジェクトをShunRecordCollectionオブジェクトに設定し、SearchByRecordIDメソッドを使用することで目的のXML文書の全体を取り出すことができます。
レコードIDを利用してXML文書全体を取得する場合の流れについて、以下の図に示します。
ShunService service = new ShunService(); service.Connect(); ShunSearchRequirement req = new ShunSearchRequirement(); req.QueryExpression = "/document/base/prefecture == '大阪'"; req.ReturnExpression = "/document/base/name/text()"; ShunResultSet rs = service.Search( req ); Console.WriteLine("[ヒット件数] = " + rs.HitCount); ShunRecordCollection recCol = new ShunRecordCollection(); (1) foreach ( ShunRecord record in rs.Records ) { (2) if ( record.Data == "ホテル1" ) { (2) recCol.Add( record ); (2) } } rs = service.SearchByRecordID( recCol ); (3) foreach ( ShunRecord record in rs.Records ) { (4) Console.WriteLine( "[詳細] = " + record.Data ); (4) } service.Disconnect(); |
Dim service As New ShunService() service.Connect() Dim req As New ShunSearchRequirement() req.QueryExpression = "/document/base/prefecture == '大阪'" req.ReturnExpression = "/document/base/name/text()" Dim rs As ShunResultSet = service.Search( req ) Console.WriteLine( "[ヒット件数] = {0}", rs.HitCount ) Dim recCol As New ShunRecordCollection() (1) For Each record As ShunRecord In rs.Records (2) If record.Data = "ホテル1" Then (2) recCol.Add( record ) (2) End If Next rs = service.SearchByRecordID( recCol ) (3) For Each record As ShunRecord In rs.Records (4) Console.WriteLine( "[詳細] = {0}", record.Data) (4) Next service.Disconnect() |
ShunRecordCollectionオブジェクトを作成します。
ShunRecordオブジェクトを、ShunRecordCollectionオブジェクトに設定します。
ShunRecordオブジェクトを設定するには、以下のメソッドを使用します。使用可能なメソッドについては以下の表を参照してください。
メソッド名またはプロパティ名 |
機能説明 |
---|---|
Add(ShunRecord record) |
ShunRecord を ShunRecordCollection の末尾に追加します。 |
AddRange(ShunRecord[] records) |
ShunRecord 配列の要素を ShunRecordCollection の末尾にコピーします。 |
Insert(int index, ShunRecord record) |
ShunRecordCollection 内の指定したインデックス位置に、 ShunRecord を挿入します。 |
Item[int index] |
指定したインデックス位置のShunRecordを置き換えます。 |
検索の実行はSearchByRecordIDメソッドを使用します。検索した結果としてShunRecordCollectionオブジェクトが作成されます。
ShunRecordCollectionオブジェクトから1件分のデータに相当するShunRecordオブジェクトを取り出し、ShunRecordオブジェクトからXML文書を取り出します。
XML文書を取り出すには、目的に応じて以下のプロパティまたはメソッドを使用します。使用可能なプロパティおよびメソッドについては以下の表を参照してください。
プロパティ名またはメソッド名 |
機能説明 |
---|---|
Dataプロパティ |
XML文書をStringオブジェクトで取り出します。 |
GetDividedDataメソッド |
XML文書をStringオブジェクトの2次元配列で取り出します。 |
GetStreamメソッド |
XML文書をStreamオブジェクトで取り出します。 |
備考. GetDividedDataメソッドは、検索した結果をテキスト形式で取り出す場合に有効です。
目次
索引
![]() ![]() |