Here is an example of reading data from an XML file in .net
Sample XML Input
<FLTIntAvltRes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <FLTIntAvltResFlights> <FLTIntAvltResOnwardFlights> <FLTIntAvltResFlightSegment> <ChannelCode>6E</ChannelCode> <FLTIntAvltResConnectionPoints> <FLTIntAvltResConnectionSegment> <FLTIntAvltResFlightDetails> <ArrivalAirportCode>BOM</ArrivalAirportCode> <DepartureAirportCode>BLR</DepartureAirportCode> </FLTIntAvltResFlightDetails> <FLTIntAvltResFareDetails> <GrossFare>18289</GrossFare> <NetFare>18289</NetFare> </FLTIntAvltResFareDetails> <FLTIntAvltResTaxDetails> <TotalTax>0</TotalTax> </FLTIntAvltResTaxDetails> </FLTIntAvltResConnectionSegment> <FLTIntAvltResConnectionSegment> <FLTIntAvltResFlightDetails> <FlightId>''</FlightId> <JourneyDuration>''</JourneyDuration> </FLTIntAvltResFlightDetails> <FLTIntAvltResFareDetails> <GrossFare>0</GrossFare> <NetFare>0</NetFare> </FLTIntAvltResFareDetails> <FLTIntAvltResTaxDetails> <TotalTax>0</TotalTax> </FLTIntAvltResTaxDetails> </FLTIntAvltResConnectionSegment> </FLTIntAvltResConnectionPoints> </FLTIntAvltResFlightSegment> </FLTIntAvltResOnwardFlights> <FLTIntAvltResReturnFlights> <FLTIntAvltResFlightSegment> <ChannelCode>6E</ChannelCode> <FLTIntAvltResConnectionPoints> <FLTIntAvltResConnectionSegment> <FLTIntAvltResFlightDetails> <FlightNo>82</FlightNo> <ArrivalDateTime>2011-11-25T04:25:00</ArrivalDateTime> <DepartureDateTime>2011-11-25T00:15:00</DepartureDateTime> <ArrivalAirportCode>BOM</ArrivalAirportCode> </FLTIntAvltResFlightDetails> <FLTIntAvltResFareDetails> <GrossFare>17049</GrossFare> <NetFare>17049</NetFare> </FLTIntAvltResFareDetails> <FLTIntAvltResTaxDetails> <TotalTax>0</TotalTax> </FLTIntAvltResTaxDetails> </FLTIntAvltResConnectionSegment> <FLTIntAvltResConnectionSegment> <FLTIntAvltResFlightDetails> <ArrivalDateTime>2011-11-25T15:30:00</ArrivalDateTime> <DepartureDateTime>2011-11-25T13:45:00</DepartureDateTime> <ArrivalAirportCode>BLR</ArrivalAirportCode> </FLTIntAvltResFlightDetails> <FLTIntAvltResFareDetails> <GrossFare>0</GrossFare> <NetFare>0</NetFare> </FLTIntAvltResFareDetails> <FLTIntAvltResTaxDetails> <TotalTax>0</TotalTax> </FLTIntAvltResTaxDetails> </FLTIntAvltResConnectionSegment> </FLTIntAvltResConnectionPoints> </FLTIntAvltResFlightSegment> </FLTIntAvltResReturnFlights> </FLTIntAvltResFlights> </FLTIntAvltRes>
Reading part
---------------
Dim availablityReponseXML As XmlDocument = New XmlDocument() availablityReponseXML.Load("E:\ASIF ABDULLA\Flight\Benzy Proxy\SGInternational\6EROUNDTRIP_CONNECTION_AVAILINTRESPONSE.xml") Dim OnwardConnectionLegs As XmlNodeList = availablityReponseXML.SelectNodes("/FLTIntAvltRes/FLTIntAvltResFlights/FLTIntAvltResOnwardFlights/FLTIntAvltResFlightSegment/FLTIntAvltResConnectionPoints/FLTIntAvltResConnectionSegment") Dim returnConnectionLegs As XmlNodeList = availablityReponseXML.SelectNodes("/FLTIntAvltRes/FLTIntAvltResFlights/FLTIntAvltResReturnFlights/FLTIntAvltResFlightSegment/FLTIntAvltResConnectionPoints/FLTIntAvltResConnectionSegment") For Each connection As XmlNode In OnwardConnectionLegs Dim fareLeg As XmlNode = connection.ChildNodes(1) netFare += Convert.ToDecimal(fareLeg("NetFare").InnerText) Next For Each connection As XmlNode In returnConnectionLegs Dim fareLeg As XmlNode = connection.ChildNodes(1) netFare += Convert.ToDecimal(fareLeg("NetFare").InnerText) Next //ONWARD CONNECTION FLIGHTS FLTIntPriceReqConnectionPoInts = New List(Of FLTIntPriceReqConnectionSegment) For Each connection As XmlNode In OnwardConnectionLegs Dim flightDetailLeg As XmlNode = connection.FirstChild ObjFLTIntPriceReqConnectionSegment = New FLTIntPriceReqConnectionSegment FLTIntPriceReqFlightDetails = New FLTIntPriceReqFlightDetails FLTIntPriceReqFlightDetails.AdultFareID = 0 FLTIntPriceReqFlightDetails.ChildFareID = 0 FLTIntPriceReqFlightDetails.InfantFareID = 0 FLTIntPriceReqFlightDetails.AirEquipType = "" FLTIntPriceReqFlightDetails.ArrivalAirportCode = flightDetailLeg("ArrivalAirportCode").InnerText FLTIntPriceReqFlightDetails.ArrivalDateTime = flightDetailLeg("ArrivalDateTime").InnerText FLTIntPriceReqFlightDetails.ArrivalTerminal = "Terminal 1" FLTIntPriceReqFlightDetails.AvailableSeats = flightDetailLeg("AvailableSeats").InnerText FLTIntPriceReqFlightDetails.BookingClass = flightDetailLeg("BookingClass").InnerText FLTIntPriceReqFlightDetails.CabinClass = flightDetailLeg("CabinClass").InnerText FLTIntPriceReqFlightDetails.ChangeOfGuage = False FLTIntPriceReqFlightDetails.DepartureAirportCode = flightDetailLeg("DepartureAirportCode").InnerText FLTIntPriceReqFlightDetails.DepartureDateTime = flightDetailLeg("DepartureDateTime").InnerText FLTIntPriceReqFlightDetails.DepartureTerminal = "Terminal 1" FLTIntPriceReqFlightDetails.FareBasisCode = flightDetailLeg("FareBasisCode").InnerText FLTIntPriceReqFlightDetails.FlightNo = flightDetailLeg("FlightNo").InnerText FLTIntPriceReqFlightDetails.FUID = 1 FLTIntPriceReqFlightDetails.ValidatingAirLineCode = "6E" FLTIntPriceReqFlightDetails.MarketingAirLineCode = "6E" FLTIntPriceReqFlightDetails.OperatingAirLineCode = "6E" FLTIntPriceReqFlightDetails.Refundable = "" FLTIntPriceReqFlightDetails.RPH = 0 ObjFLTIntPriceReqConnectionSegment.FLTIntPriceReqFlightDetails = FLTIntPriceReqFlightDetails FLTIntPriceReqConnectionPoInts.Add(ObjFLTIntPriceReqConnectionSegment) Next ObjFLTIntPriceReqFlightSegment.FLTIntPriceReqConnectionPoints = FLTIntPriceReqConnectionPoInts FLTIntPriceReqOnwardFlights.Add(ObjFLTIntPriceReqFlightSegment) ObjFLTIntPriceReqFlights.FLTIntPriceReqOnwardFlights = FLTIntPriceReqOnwardFlights //RETURN CONNECTION FLIGHTS FLTIntPriceReqConnectionPoInts = New List(Of FLTIntPriceReqConnectionSegment) For Each connection As XmlNode In returnConnectionLegs Dim flightDetailLeg As XmlNode = connection.FirstChild ObjFLTIntPriceReqConnectionSegment = New FLTIntPriceReqConnectionSegment FLTIntPriceReqFlightDetails = New FLTIntPriceReqFlightDetails FLTIntPriceReqFlightDetails.AdultFareID = 0 FLTIntPriceReqFlightDetails.ChildFareID = 0 FLTIntPriceReqFlightDetails.InfantFareID = 0 FLTIntPriceReqFlightDetails.AirEquipType = "" FLTIntPriceReqFlightDetails.ArrivalAirportCode = flightDetailLeg("ArrivalAirportCode").InnerText FLTIntPriceReqFlightDetails.ArrivalDateTime = flightDetailLeg("ArrivalDateTime").InnerText FLTIntPriceReqFlightDetails.ArrivalTerminal = "Terminal 1" FLTIntPriceReqFlightDetails.AvailableSeats = flightDetailLeg("AvailableSeats").InnerText FLTIntPriceReqFlightDetails.BookingClass = flightDetailLeg("BookingClass").InnerText FLTIntPriceReqFlightDetails.CabinClass = flightDetailLeg("CabinClass").InnerText FLTIntPriceReqFlightDetails.ChangeOfGuage = False FLTIntPriceReqFlightDetails.DepartureAirportCode = flightDetailLeg("DepartureAirportCode").InnerText FLTIntPriceReqFlightDetails.DepartureDateTime = flightDetailLeg("DepartureDateTime").InnerText FLTIntPriceReqFlightDetails.DepartureTerminal = "Terminal 1" FLTIntPriceReqFlightDetails.FareBasisCode = flightDetailLeg("FareBasisCode").InnerText FLTIntPriceReqFlightDetails.FlightNo = flightDetailLeg("FlightNo").InnerText FLTIntPriceReqFlightDetails.FUID = 1 FLTIntPriceReqFlightDetails.ValidatingAirLineCode = "6E" FLTIntPriceReqFlightDetails.MarketingAirLineCode = "6E" FLTIntPriceReqFlightDetails.OperatingAirLineCode = "6E" FLTIntPriceReqFlightDetails.Refundable = "" FLTIntPriceReqFlightDetails.RPH = 0 ObjFLTIntPriceReqConnectionSegment.FLTIntPriceReqFlightDetails = FLTIntPriceReqFlightDetails FLTIntPriceReqConnectionPoInts.Add(ObjFLTIntPriceReqConnectionSegment) Next ObjFLTIntPriceReqFlightSegment.FLTIntPriceReqConnectionPoints = FLTIntPriceReqConnectionPoInts FLTIntPriceReqReturnFlights.Add(ObjFLTIntPriceReqFlightSegment) ObjFLTIntPriceReqFlights.FLTIntPriceReqReturnFlights = FLTIntPriceReqReturnFlights
0 comments:
Post a Comment