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

Appendix H Sample VB .NET Programs> H.1 Searching Data

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.

mark1Search 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.

mark1An 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

mark1Execution 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>

Contents Index PreviousNext

All Rights Reserved, Copyright(C) FUJITSU LIMITED 2006