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