繁体   English   中英

使用循环读取 SOAP 结果

[英]Read SOAP result using a loop

我在 C# web 应用程序中构建了一个 web 服务。 我将对象列表作为 Web 服务结果返回。 我需要知道如何循环阅读该项目列表。

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

我需要循环使用它。

请从上面的代码更新最后一行的代码:

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));

这将解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM