Interstage Shunsaku Data Manager Application Development Guide - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX -
|
Contents
Index

|
H.1.3 Obtain Every Instance of Particular XML Documents
The search process performs the operations stated in H.1.1 Obtaining the Number of XML Documents that Match Search Conditions and H.1.2 Obtaining XML Documents that Match Search Conditions in a Specified Format to obtain all the data based on the filtering conditions.
The following example shows how the VB .NET are used. It shows how all the data of applicable hotels can be retrieved based on the hotel names obtained using the operations stated in H.1.2 Obtaining XML Documents that Match Search Conditions in a Specified Format.
Search Conditions
'I want to obtain detailed information about a number of the hotels in Sydney that have a vacancy on 2006/07/18.'Execute the search using the date (2006/07/18) and the location (Sydney) as search conditions. The record IDs that correspond to hotels are used to obtain detailed information.
An Example of Using the APIs
The following is a sample program using the VB .NET.
Imports System
Imports Fujitsu.Shunsaku
Imports System.ComponentModel
Class SampleSearchByRecordID
Shared Public Function Main( ByVal args() As String ) As Integer
Dim service As ShunService = Nothing
Try
''Create ShunService
service = new ShunService()
'' Connect Shunsaku by specifying the host name and port number
service.Host = "DirSrv1"
service.Port = 33101
service.Connect()
'' Create ShunSearchRequirement
Dim req As ShunSearchRequirement = new ShunSearchRequirement()
'' Set each type of search conditions
req.QueryExpression = "/document {/base/city == 'Sydney' AND /information/date == '2006/07/18'}"
req.ReturnExpression = "/document/base/name/text()"
req.ReplyNumber = 1
req.RequestCount = 30
'' Specify the search condition and execute the search
Dim rs As ShunResultSet = service.Search( req )
'' Display the search results
Console.WriteLine( "Number of hits = {0}", rs.HitCount )
'' Create ShunRecordCollection for searching data
Dim searchRecords As ShunRecordCollection = new ShunRecordCollection()
'' Obtain the records that correspond to the search conditions
For Each record As ShunRecord In rs.Records
If record.Data = "Hotel 1"
searchRecords.Add( record )
End If
Next
'' Refer detailed information if acquisition of the corresponding record is successful
If searchRecords.Count > 0
rs = service.SearchByRecordID( searchRecords )
For Each record As ShunRecord In rs.Records
Console.WriteLine( "[Detail] = {0}", record.Data )
Next
End If
'' Close the connection to Shunsaku
service.Disconnect()
Catch e As ShunContinuousException
'' Processing to perform if ShunContinuousException occurs
Try
If Not service Is Nothing And service.State = ShunConnectionState.Open Then
service.Disconnect()
End If
Catch ex As ShunException
Console.WriteLine( "Error message : {0}", ex.Message )
End Try
Console.WriteLine( "Error message : {0}", e.Message )
Catch e As ShunConnectionTerminatedException
'' Processing to perform if ShunConnectionTerminatedException occurs
Console.WriteLine( "Error message : {0}", e.Message )
End Try
End Function
End Class |
Execution Results
Number of hits = 3
[Detail] = <document>
<base>
<name>Hotel 1</name>
<city>Sydney</city>
<address>Bondi Beach</address>
<detail>http://xxxxx.com.au</detail>
<price>350</price>
</base>
<information>
<date>2006/07/18</date>
</information>
<note>En-suite bathroom and toilet, two minutes' walk to train station XX</note>
</document> |
All Rights Reserved, Copyright(C) FUJITSU LIMITED 2006