ダイレクトアクセスキーを使用してデータを検索する場合のC# .NETの使用例を示します。
検索するデータ
<course> <id>0001</id> <name>Business negotiation</name> <instructor> <first-name>Max</first-name> <last-name>cameron</last-name> </instructor> <capacity>40</capacity> <current-auditors>30</current-auditors> </course> |
定義したダイレクトアクセスキー
key /course/id/text()
APIの使用例
以下にC# .NETを使用したプログラミング例を示します。
using System; using Fujitsu.Shunsaku; class SampleDirectAccessSearch { static public void Main( string[] args ) { ShunService service = null; try { // ShunService の作成 service = new ShunService(); // ホスト名 ポート番号を指定して Shunsaku に接続 service.Host = "DirSvr1"; service.Port = 23101; service.ShunsakuFile = "shunsakuFile1"; service.Connect(); // 検索用の ShunKeyRequirement オブジェクトを作成 ShunKeyRequirement keyReq = new ShunKeyRequirement(); keyReq.KeyName = "key"; // 検索対象のキーを追加 keyReq.Records.Add( new ShunRecord() ); keyReq.Records[0].Key = "0001"; // 検索条件を指定して検索を実行 ShunResultSet rs = service.SearchByKey( keyReq, "/" ); // 取得したソース情報のダイレクトアクセスキーを取得 Console.WriteLine( "ヒット件数 = {0}", rs.HitCount ); int i = 0; foreach ( ShunRecord record in rs.Records ) { ++i; Console.WriteLine( "[結果]{0}件目", i ); Console.WriteLine( "ダイレクトアクセスキー: {0}", record.Key ); Console.WriteLine( "データ :" ); Console.WriteLine( record.Data ); } // Shunsaku から切断 service.Disconnect(); } catch ( ShunContinuousException e ) { // ShunContinuousExceptionが発生した場合の処理を記述 try { if( service != null && service.State == ShunConnectionState.Open ) { service.Disconnect(); } } catch ( ShunException ex ) { Console.WriteLine("エラーメッセージ : {0}", ex.Message ); } Console.WriteLine("エラーメッセージ : {0}", e.Message ); } catch ( ShunConnectionTerminatedException e ) { // ShunConnectionTerminatedExceptionが発生した場合の処理を記述 Console.WriteLine("エラーメッセージ : {0}", e.Message ); } } } |
実行結果
ヒット件数 = 1 [結果]1件目 ダイレクトアクセスキー:0001 データ : <course> <id>0001</id> <name>Business negotiation</name> <instructor> <first-name>Max</first-name> <last-name>cameron</last-name> </instructor> <capacity>40</capacity> <current-auditors>30</current-auditors> </course> |