0

C# Web アプリケーションで Web サービスを構築しました。オブジェクトのリストを Web サービスの結果として返しています。その項目のリストをループで 1 つずつ読み取る方法を知る必要があります。

<?xml version="1.0" encoding="utf-8"?>  
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  
  <soap:Body>  
    <checkAvailabilityResponse xmlns="http://tempuri.org/">  
      <checkAvailabilityResult>  
        <Shedule>  
          <Sid>int</Sid>  
          <Fid>int</Fid>  
          <FromLocation>string</FromLocation>  
          <FromTime>dateTime</FromTime>  
          <ToLocation>string</ToLocation>  
          <ToTime>dateTime</ToTime>  
          <PriceSeatA>double</PriceSeatA>  
          <PriceSeatB>double</PriceSeatB>  
          <PriceSeatC>double</PriceSeatC>  
        </Shedule>  
        <Shedule>  
          <Sid>int</Sid>  
          <Fid>int</Fid>  
          <FromLocation>string</FromLocation>  
          <FromTime>dateTime</FromTime>  
          <ToLocation>string</ToLocation>  
          <ToTime>dateTime</ToTime>  
          <PriceSeatA>double</PriceSeatA>  
          <PriceSeatB>double</PriceSeatB>  
          <PriceSeatC>double</PriceSeatC>  
        </Shedule>  
      </checkAvailabilityResult>  
    </checkAvailabilityResponse>  
  </soap:Body>  
</soap:Envelope>

これは私が試した方法です:

SriLankanWebService.Service1SoapClient air1 = new AgentPortal.SriLankanWebService.Service1SoapClient();  
                List<Shedule> air1Response = (List<Shedule>)air1.checkAvailability(drpFrom.SelectedValue.ToString(), drpTo.SelectedValue.ToString(), DateTime.Parse(txtDepartOn.Text));

私が試したとき、それは言う:

Error   1   Cannot implicitly convert type 'AgentPortal.SriLankanWebService.Shedule[]' to 'System.Collections.Generic.List<AgentPortal.Shedule>'    D:\DCBSD\AgentPortal\AgentPortal\Home.aspx.cs   32  46  AgentPortal

ループで使用する必要があります。

4

1 に答える 1

0

上記のコードから最後の行のコードを更新してください:

List<Shedule> air1Response = (List<Shedule>)air1.checkAvailability(drpFrom.SelectedValue.ToString(), drpTo.SelectedValue.ToString(), DateTime.Parse(txtDepartOn.Text));

AgentPortal.SriLankanWebService.Shedule[] = air1.checkAvailability(drpFrom.SelectedValue.ToString(), drpTo.SelectedValue.ToString(), DateTime.Parse(txtDepartOn.Text));

これで問題は解決します。

于 2012-10-25T12:56:50.293 に答える