public void Test_Deserializer1() { JetermEntity.Parser.GetPrice getPrice = new JetermEntity.Parser.GetPrice(); JetermEntity.Request.GetPrice request = new JetermEntity.Request.GetPrice(); request.PassengerType = JetermEntity.EtermCommand.PassengerType.Adult; request.FlightList = new List <JetermEntity.Flight>(); JetermEntity.Flight flight = new JetermEntity.Flight(); flight.FlightNo = "CZ123"; string cmd = getPrice.ParseCmd(request); getPrice.ParseCmdResult(cmd); }
/// <summary> /// 获得第1种返回结果中的航班信息 /// </summary> /// <param name="detrInfo"></param> /// <returns></returns> private void MatchFlightInfo(string detrInfo) { Regex regex = new Regex(@"FOID:\S+\s*(?'FlightNo'\S+)\s*/(?'Date'\S+)/(?'StartCity'[A-Z]{3})(?'EndCity'[A-Z]{3})"); var matchs = regex.Matches(detrInfo); List <JetermEntity.Flight> flightList = new List <JetermEntity.Flight>(); JetermEntity.Flight flight; foreach (Match match in matchs) { string flightNo = match.Groups["FlightNo"].Captures[0].Value; string sCity = match.Groups["StartCity"].Captures[0].Value; string eCity = match.Groups["EndCity"].Captures[0].Value; if (!flightNo.Equals(FlightNo) || !sCity.Equals(SCity) || !eCity.Equals(ECity)) { continue; } flight = new JetermEntity.Flight(); flight.FlightNo = match.Groups["FlightNo"].Captures[0].Value; if (!string.IsNullOrWhiteSpace(flight.FlightNo) && flight.FlightNo.Length > 2) { flight.Airline = flight.FlightNo.Substring(0, 2); } // 传入格式如:12DEC14 flight.DepDate = ParserHelper.ConvertStringToDateTime(match.Groups["Date"].Captures[0].Value); flight.SCity = match.Groups["StartCity"].Captures[0].Value; flight.ECity = match.Groups["EndCity"].Captures[0].Value; flightList.Add(flight); _response.result.FlightList = flightList; return; } return; }