Hello Everyone!
I have been trying to pull this out by myself but couldn't.
Xml document needs to be parsed into windows application form in c# either using Xdocument or Linq and i want to display this as data table in windows application
My XML Code:
<AvailabilityResponse>
<TrackId>RAB25B</TrackId>
<ItinearyDetails>
<Items>
<FlightDetails>
<FlightID>8120</FlightID>
<CarrierCode>6E</CarrierCode>
<Origin>DXB</Origin>
<Destination>MLE</Destination>
<FlightNum>8246</FlightNum>
<DepartureDateTime>04/08/2021 09:10</DepartureDateTime>
<ArrivalDateTime>04/08/2021 12:45</ArrivalDateTime>
<Duration>04Hrs5Mins</Duration>
<OrgTerminal>1</OrgTerminal>
<DesTerminal />
<AirCraftType>320</AirCraftType>
<NumberofStops>0</NumberofStops>
<Via />
<ValidatingCarrier>6E</ValidatingCarrier>
<AirlineCategory>LCC</AirlineCategory>
<ItryNo>0</ItryNo>
<FareType>Y</FareType>
<AllowBaggage>20 KG</AllowBaggage>
<Seats>9</Seats>
<ClassCode>K</ClassCode>
<ClassCodeDesc>REFUNDABLE</ClassCodeDesc>
<FareBasisCode>K0INTRT</FareBasisCode>
<BreakPoint />
<CurrencyCode>INR</CurrencyCode>
</FlightDetails>
<FlightDetails>
<FlightID>8121</FlightID>
<CarrierCode>6E</CarrierCode>
<Origin>MLE</Origin>
<Destination>DXB</Destination>
<FlightNum>8247</FlightNum>
<DepartureDateTime>07/08/2021 13:50</DepartureDateTime>
<ArrivalDateTime>07/08/2021 18:25</ArrivalDateTime>
<Duration>04Hrs5Mins</Duration>
<OrgTerminal />
<DesTerminal>3</DesTerminal>
<AirCraftType>320</AirCraftType>
<NumberofStops>0</NumberofStops>
<Via />
<ValidatingCarrier>6E</ValidatingCarrier>
<AirlineCategory>LCC</AirlineCategory>
<ItryNo>1</ItryNo>
<FareType>N</FareType>
<AllowBaggage>20 KG</AllowBaggage>
<Seats>9</Seats>
<ClassCode>H</ClassCode>
<ClassCodeDesc>REFUNDABLE</ClassCodeDesc>
<FareBasisCode>H0INT</FareBasisCode>
<BreakPoint />
<CurrencyCode>INR</CurrencyCode>
</FlightDetails>
<FareDescription>
<PaxFareDetails>
<PaxType>ADT</PaxType>
<BasicAmount>22915.00</BasicAmount>
<TotalTaxAmount>5511.50</TotalTaxAmount>
<FuelSurcharge>0.00</FuelSurcharge>
<Commission>0.00</Commission>
<OtherInfo>
<Item>
<TaxCode>TAX</TaxCode>
<Amount>5499.00</Amount>
</Item>
<Item>
<TaxCode>SC </TaxCode>
<Amount>12.50</Amount>
</Item>
<TransactionFee>0.00</TransactionFee>
<ServiceTax>0.00</ServiceTax>
<GrossAmount>28426.50</GrossAmount>
</OtherInfo>
</PaxFareDetails>
</FareDescription>
</Items>
<Items>
<FlightDetails>
<FlightID>8122</FlightID>
<CarrierCode>6E</CarrierCode>
<Origin>DXB</Origin>
<Destination>MLE</Destination>
<FlightNum>8246</FlightNum>
<DepartureDateTime>04/08/2021 09:10</DepartureDateTime>
<ArrivalDateTime>04/08/2021 12:45</ArrivalDateTime>
<Duration>04Hrs5Mins</Duration>
<OrgTerminal>1</OrgTerminal>
<DesTerminal />
<AirCraftType>320</AirCraftType>
<NumberofStops>0</NumberofStops>
<Via />
<ValidatingCarrier>6E</ValidatingCarrier>
<AirlineCategory>LCC</AirlineCategory>
<ItryNo>0</ItryNo>
<FareType>Y</FareType>
<AllowBaggage>20 KG</AllowBaggage>
<Seats>9</Seats>
<ClassCode>K</ClassCode>
<ClassCodeDesc>REFUNDABLE</ClassCodeDesc>
<FareBasisCode>K0INTRT</FareBasisCode>
<BreakPoint />
<CurrencyCode>INR</CurrencyCode>
</FlightDetails>
<FlightDetails>
<FlightID>8123</FlightID>
<CarrierCode>6E</CarrierCode>
<Origin>MLE</Origin>
<Destination>DXB</Destination>
<FlightNum>8247</FlightNum>
<DepartureDateTime>07/08/2021 13:50</DepartureDateTime>
<ArrivalDateTime>07/08/2021 18:25</ArrivalDateTime>
<Duration>04Hrs5Mins</Duration>
<OrgTerminal />
<DesTerminal>3</DesTerminal>
<AirCraftType>320</AirCraftType>
<NumberofStops>0</NumberofStops>
<Via />
<ValidatingCarrier>6E</ValidatingCarrier>
<AirlineCategory>LCC</AirlineCategory>
<ItryNo>1</ItryNo>
<FareType>Y</FareType>
<AllowBaggage>20 KG</AllowBaggage>
<Seats>9</Seats>
<ClassCode>H</ClassCode>
<ClassCodeDesc>REFUNDABLE</ClassCodeDesc>
<FareBasisCode>H0INTRT</FareBasisCode>
<BreakPoint />
<CurrencyCode>INR</CurrencyCode>
</FlightDetails>
<FareDescription>
<PaxFareDetails>
<PaxType>ADT</PaxType>
<BasicAmount>25147.00</BasicAmount>
<TotalTaxAmount>5511.50</TotalTaxAmount>
<FuelSurcharge>0.00</FuelSurcharge>
<Commission>0.00</Commission>
<OtherInfo>
<Item>
<TaxCode>TAX</TaxCode>
<Amount>5499.00</Amount>
</Item>
<Item>
<TaxCode>SC </TaxCode>
<Amount>12.50</Amount>
</Item>
<TransactionFee>0.00</TransactionFee>
<ServiceTax>0.00</ServiceTax>
<GrossAmount>30658.50</GrossAmount>
</OtherInfo>
</PaxFareDetails>
</FareDescription>
</Items>
<Items>
<FlightDetails>
<FlightID>8124</FlightID>
<CarrierCode>6E</CarrierCode>
<Origin>DXB</Origin>
<Destination>MLE</Destination>
<FlightNum>8246</FlightNum>
<DepartureDateTime>04/08/2021 09:10</DepartureDateTime>
<ArrivalDateTime>04/08/2021 12:45</ArrivalDateTime>
<Duration>04Hrs5Mins</Duration>
<OrgTerminal>1</OrgTerminal>
<DesTerminal />
<AirCraftType>320</AirCraftType>
<NumberofStops>0</NumberofStops>
<Via />
<ValidatingCarrier>6E</ValidatingCarrier>
<AirlineCategory>LCC</AirlineCategory>
<ItryNo>0</ItryNo>
<FareType>Y</FareType>
<AllowBaggage>20 KG</AllowBaggage>
<Seats>9</Seats>
<ClassCode>K</ClassCode>
<ClassCodeDesc>REFUNDABLE</ClassCodeDesc>
<FareBasisCode>K0INTRT</FareBasisCode>
<BreakPoint />
<CurrencyCode>INR</CurrencyCode>
</FlightDetails>
<FlightDetails>
<FlightID>8125</FlightID>
<CarrierCode>6E</CarrierCode>
<Origin>MLE</Origin>
<Destination>COK</Destination>
<FlightNum>1796</FlightNum>
<DepartureDateTime>07/08/2021 15:50</DepartureDateTime>
<ArrivalDateTime>07/08/2021 17:50</ArrivalDateTime>
<Duration>01Hrs30Mins</Duration>
<OrgTerminal />
<DesTerminal>3</DesTerminal>
<AirCraftType>320</AirCraftType>
<NumberofStops>1</NumberofStops>
<Via />
<ValidatingCarrier>6E</ValidatingCarrier>
<AirlineCategory>LCC</AirlineCategory>
<ItryNo>1</ItryNo>
<FareType>S</FareType>
<AllowBaggage>20 KG</AllowBaggage>
<Seats>9</Seats>
<ClassCode>E</ClassCode>
<ClassCodeDesc>REFUNDABLE</ClassCodeDesc>
<FareBasisCode>E0INT</FareBasisCode>
<BreakPoint />
<CurrencyCode>INR</CurrencyCode>
</FlightDetails>
<FlightDetails>
<FlightID>8126</FlightID>
<CarrierCode>6E</CarrierCode>
<Origin>COK</Origin>
<Destination>DXB</Destination>
<FlightNum>706</FlightNum>
<DepartureDateTime>08/08/2021 10:00</DepartureDateTime>
<ArrivalDateTime>08/08/2021 13:15</ArrivalDateTime>
<Duration>03Hrs15Mins</Duration>
<OrgTerminal>1</OrgTerminal>
<DesTerminal>1</DesTerminal>
<AirCraftType>320</AirCraftType>
<NumberofStops>1</NumberofStops>
<Via />
<ValidatingCarrier>6E</ValidatingCarrier>
<AirlineCategory>LCC</AirlineCategory>
<ItryNo>1</ItryNo>
<FareType>S</FareType>
<AllowBaggage>20 KG</AllowBaggage>
<Seats>9</Seats>
<ClassCode>R</ClassCode>
<ClassCodeDesc>REFUNDABLE</ClassCodeDesc>
<FareBasisCode>R8TCT</FareBasisCode>
<BreakPoint />
<CurrencyCode>INR</CurrencyCode>
</FlightDetails>
<FareDescription>
<PaxFareDetails>
<PaxType>ADT</PaxType>
<BasicAmount>22771.00</BasicAmount>
<TotalTaxAmount>5561.50</TotalTaxAmount>
<FuelSurcharge>0.00</FuelSurcharge>
<Commission>0.00</Commission>
<OtherInfo>
<Item>
<TaxCode>TAX</TaxCode>
<Amount>5549.00</Amount>
</Item>
<Item>
<TaxCode>SC </TaxCode>
<Amount>12.50</Amount>
</Item>
<TransactionFee>0.00</TransactionFee>
<ServiceTax>0.00</ServiceTax>
<GrossAmount>28332.50</GrossAmount>
</OtherInfo>
</PaxFareDetails>
</FareDescription>
</Items>
</ItinearyDetails>
</AvailabilityResponse>
What I have tried so far :
XmlDocument xdoc = new XmlDocument();
xdoc.Load("E:\\MCA LATEST SOURCE\\AvailabilityResponse.xml");
foreach(XmlNode xNode in xdoc.SelectNodes("AvailabilityResponse/ItinearyDetails/Items/FlightDetails"))
{
ListViewItem lvi = new ListViewItem(xNode.SelectSingleNode("FlightID").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("CarrierCode").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("Origin").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("Destination").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("FlightNum").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("DepartureDateTime").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("ArrivalDateTime").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("Duration").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("OrgTerminal").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("DesTerminal").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("AirCraftType").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("NumberofStops").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("ValidatingCarrier").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("AirlineCategory").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("ItryNo").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("FareType").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("AllowBaggage").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("Seats").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("ClassCode").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("ClassCodeDesc").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("FareBasisCode").InnerText);
lvi.SubItems.Add(xNode.SelectSingleNode("CurrencyCode").InnerText);
foreach ( XmlNode xNode1 in xdoc.SelectNodes("AvailabilityResponse/ItinearyDetails/Items/FareDescription/PaxFareDetails"))
{
lvi.SubItems.Add(xNode1.SelectSingleNode("PaxType").InnerText);
lvi.SubItems.Add(xNode1.SelectSingleNode("BasicAmount").InnerText);
lvi.SubItems.Add(xNode1.SelectSingleNode("TotalTaxAmount").InnerText);
lvi.SubItems.Add(xNode1.SelectSingleNode("FuelSurcharge").InnerText);
lvi.SubItems.Add(xNode1.SelectSingleNode("Commission").InnerText);
break;
}
foreach (XmlNode xNode2 in xdoc.SelectNodes("AvailabilityResponse/ItinearyDetails/Items/FareDescription/PaxFareDetails/OtherInfo/Item"))
{
lvi.SubItems.Add(xNode2.SelectSingleNode("TaxCode").InnerText);
lvi.SubItems.Add(xNode2.SelectSingleNode("Amount").InnerText);
break;
}
foreach (XmlNode xNode3 in xdoc.SelectNodes("AvailabilityResponse/ItinearyDetails/Items/FareDescription/PaxFareDetails/OtherInfo/Item"))
{
lvi.SubItems.Add(xNode3.SelectSingleNode("TaxCode").InnerText);
lvi.SubItems.Add(xNode3.SelectSingleNode("Amount").InnerText);
break;
}
foreach (XmlNode xNode4 in xdoc.SelectNodes("AvailabilityResponse/ItinearyDetails/Items/FareDescription/PaxFareDetails/OtherInfo"))
{
lvi.SubItems.Add(xNode4.SelectSingleNode("TransactionFee").InnerText);
lvi.SubItems.Add(xNode4.SelectSingleNode("ServiceTax").InnerText);
lvi.SubItems.Add(xNode4.SelectSingleNode("GrossAmount").InnerText);
break;
}
listView1.Items.Add(lvi);
}
Can you guys help out !
Thanks in advance.
