62,046
社区成员
发帖
与我相关
我的任务
分享
string responseXml = HttpRequest(requestXml);
//上游异常错误
if (string.IsNullOrEmpty(responseXml))
{
item.ResultCode = "00011";
item.ResultMsg = "上游提交返回异常";
response.Add(item);
return response;
}
XmlDocument xmlResult = new XmlDocument();
xmlResult.InnerXml = responseXml;
//开始解析xml(返回错误代码的时候)
XmlNode errNode = xmlResult.SelectSingleNode("//Error");
if (errNode != null)
{
item.ResultCode = "18002";
item.ResultMsg = errNode.SelectSingleNode("//Error").Attributes["Code"].Value + "|" + errNode.SelectSingleNode("//Error").InnerText;
response.Add(item);
return response;
}
//开始解析xml()
//通过判断返回的数据量,确认是否有数据返回
XmlNode retNode = xmlResult.SelectSingleNode("//RecordCount");
if (Convert.ToInt32(retNode.InnerText) <= 0)
{
//未找到数据
item.ResultCode = "00011";
item.ResultMsg = "无数据返回";
response.Add(item);
return response;
}
//成功
XmlNodeList hotelList = xmlResult.SelectNodes("//Item");
XmlNodeList roomList = null;
XmlNodeList rateList = null;
XmlNodeList fangtList = null;
XmlNodeList imgList = null;
foreach (XmlNode node in hotelList)
{
Echao.Entity.JinRiHotel.JinRiMsg msg = new Entity.JinRiHotel.JinRiMsg();
msg.ResultCode = "00000";
msg.ThreeCodeCity = node.SelectSingleNode("City").Attributes["Code"].Value;
msg.CityName = node.SelectSingleNode("City").InnerText;
msg.HotelCode = node.SelectSingleNode("Hotel").Attributes["Code"].Value;
msg.HotelName = node.SelectSingleNode("Hotel").InnerText;
msg.Address = node.SelectSingleNode("Address").InnerText;
msg.RankCode = node.SelectSingleNode("Rank").Attributes["Code"].Value;
msg.RankName = node.SelectSingleNode("Rank").InnerText;
msg.Regions = node.SelectSingleNode("Regions").SelectSingleNode("Region").InnerText;
msg.Businesses = node.SelectSingleNode("Businesses").SelectSingleNode("Business").InnerText;
msg.Report = node.SelectSingleNode("Reports").SelectSingleNode("Report").InnerText;
//开始获取room房型数据
roomList = node.SelectSingleNode("Rooms").ChildNodes;
foreach (XmlNode room in roomList)
{
roomEntity.ResultCode = "00000";
roomEntity.RoomCode = room.SelectSingleNode("RoomName").Attributes["Code"].Value;
roomEntity.RoomName = room.SelectSingleNode("RoomName").InnerText;
roomEntity.BedType = room.SelectSingleNode("BedType").InnerText;
roomEntity.AddBed = room.SelectSingleNode("AddBed").InnerText;
roomEntity.Floors = room.SelectSingleNode("Floors").InnerText;
roomEntity.Description = room.SelectSingleNode("Description").InnerText;
roomEntity.Area = room.SelectSingleNode("Area").InnerText;
msg.Rooms.Add(roomEntity);
//开始获取房价数据
rateList = room.SelectSingleNode("Rates").ChildNodes;
foreach (XmlNode rate in rateList)
{
Echao.Entity.JinRiHotel.RoomRate rateEntity = new Entity.JinRiHotel.RoomRate();
rateEntity.Date = rate.SelectSingleNode("Date").InnerText;
rateEntity.PaymentType = rate.SelectSingleNode("PaymentType").InnerText;
rateEntity.SalePrice = rate.SelectSingleNode("SalePrice").InnerText;
rateEntity.DisplayPrice = rate.SelectSingleNode("DisplayPrice").InnerText;
rateEntity.BalsPrice = rate.SelectSingleNode("BalsPrice").InnerText;
rateEntity.Commisions = rate.SelectSingleNode("Commissions").InnerText;
rateEntity.CommisionsRatio = rate.SelectSingleNode("Commissions").Attributes["Ratio"].Value;
rateEntity.Meal = rate.SelectSingleNode("Meal").InnerText;
rateEntity.BroadNet = rate.SelectSingleNode("BroadNet").InnerText;
//添加房价
roomEntity.Rates.Add(rateEntity);
}
//开始获取房态数据
fangtList = room.SelectSingleNode("Availabilities").ChildNodes;
foreach (XmlNode ft in fangtList)
{
Echao.Entity.JinRiHotel.RoomAvailabilities availabilities = new Entity.JinRiHotel.RoomAvailabilities();
availabilities.Date = ft.SelectSingleNode("Date").InnerText;
availabilities.PaymentType = ft.SelectSingleNode("PaymentType").InnerText;
availabilities.Status = ft.SelectSingleNode("Status").InnerText;
availabilities.StatusCode = ft.SelectSingleNode("Status").Attributes["Code"].Value;
//添加房态
roomEntity.Availabilities.Add(availabilities);
}
}
//开始获取图片数据
imgList = node.SelectSingleNode("Links").ChildNodes;
foreach (XmlNode img in imgList)
{
;
link.Text = img.SelectSingleNode("Text").InnerText;
link.ThumbNail = img.SelectSingleNode("ThumbNail").InnerText;
link.Image = img.SelectSingleNode("Image").InnerText;
//添加图片
msg.ImgLinkes.Add(link);
}
response.Add(msg);
}
我想说 ,给了给你,你能看懂么 ?
c#解析xml