Reading Data from XML file

2011-11-11

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: