/// <summary> /// 获取配置文件中的乘客信息 /// </summary> /// <returns></returns> public List<PassengerModel> GetPassengers() { List<PassengerModel> passengers = new List<PassengerModel>(); Dictionary<string, string> parameters = new Dictionary<string, string>(); parameters["pageIndex"] = "0"; parameters["pageSize"] = "99"; parameters["passenger_name"] = Uri.EscapeUriString("请输入汉字或拼音首字母"); string content = _client.Post( "https://dynamic.12306.cn/otsweb/passengerAction.do?method=queryPagePassenger", parameters, "https://dynamic.12306.cn/otsweb/passengerAction.do?method=initUsualPassenger"); //"passenger_name":"XXX" Regex nameReg = new Regex("\"passenger_name\":\"(?<value>[^\"]*)\""); MatchCollection nameMatchs = nameReg.Matches(content); //"passenger_id_no":"510232196510105021" Regex noReg = new Regex("\"passenger_id_no\":\"(?<value>[^\"]*)\""); MatchCollection noMatchs = noReg.Matches(content); //"mobile_no":"15808090998" Regex mobileReg = new Regex("\"mobile_no\":\"(?<value>[^\"]*)\""); MatchCollection mobileMatchs = mobileReg.Matches(content); Regex noTypeReg = new Regex("\"passenger_id_type_code\":\"(?<value>[^\"]*)\""); MatchCollection noTypeMatchs = noTypeReg.Matches(content); for (int i = 0; i < nameMatchs.Count; i++) { PassengerModel pm = new PassengerModel( "1", nameMatchs[i].Groups[1].Value, noTypeMatchs[i].Groups[1].Value, noMatchs[i].Groups[1].Value, mobileMatchs[i].Groups[1].Value, "Y"); passengers.Add(pm); } return passengers; }
/// <summary> /// 获取配置文件中的乘客信息 /// </summary> /// <returns></returns> public List<PassengerModel> GetOfflinePassengers() { List<PassengerModel> passengers = new List<PassengerModel>(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory + "./datas/passenger.xml"); XmlNodeList nodes = xmlDoc.SelectNodes(".//item"); foreach (XmlNode node in nodes) { PassengerModel pm = new PassengerModel( "1", node.Attributes["name"].Value, node.Attributes["cardtype"].Value, node.Attributes["cardno"].Value, node.Attributes["mobileno"].Value, "Y"); passengers.Add(pm); } return passengers; }