using System.Xml.Serialization;
public static void Main()
string xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><invoices><invoice type=\"invoice\"><header_picture href=\"Norsk Logo.bmp\"/><header_text><Number>1022006</Number><Account>2398</Account><Invoice_Date>13/06/2021</Invoice_Date><Client_Name>MBL WorldWide</Client_Name><Client_Address>19C ORGREAVE CLOSE </Client_Address><Client_Address>DORE HOUSE INDUSTRIAL ESTATE </Client_Address><Client_Address>SHEFFIELD </Client_Address><Client_Address>S13 9NP </Client_Address><Client_Address/><Country>United Kingdom</Country><Currency>GBP</Currency></header_text><Service_Type Name=\"Air Express EMA\"><Shipment><Invoice_Row><Shipment_Id>12602476</Shipment_Id><Date>08/06/2021</Date><HAWB>MBL213053</HAWB><Consignee>Hijra Shipping LLC</Consignee><Zone>Bur Dubai BUR DUBAI</Zone><Country_Code>AE</Country_Code><Pieces>1</Pieces><Weight Is_Volume_Weight=\"A\">0.25</Weight><Description>Documents</Description><Cost>21.79</Cost><rank>0</rank><Fuel_Surcharge> 17.00 </Fuel_Surcharge><Fuel_Surcharge_Value>3.70</Fuel_Surcharge_Value><VAT_Surcharge> 0.00 </VAT_Surcharge></Invoice_Row><Invoice_Row><Shipment_Id>12602476</Shipment_Id><Date>08/06/2021</Date><HAWB>MBL213053</HAWB><Consignee>Hijra Shipping LLC</Consignee><Zone>Bur Dubai BUR DUBAI</Zone><Country_Code>AE</Country_Code><Weight Is_Volume_Weight=\"\">0.00</Weight><Description>EMERGENCY SITUATION SURCHARGE.</Description><Cost>0.09</Cost><rank>4</rank><Fuel_Surcharge> 17.00 </Fuel_Surcharge><Fuel_Surcharge_Value>0.02</Fuel_Surcharge_Value><VAT_Surcharge> 0.00 </VAT_Surcharge></Invoice_Row></Shipment><Shipment><Invoice_Row><Shipment_Id>12614825</Shipment_Id><Date>09/06/2021</Date><HAWB>MBL213057</HAWB><Consignee>SEAGULL (HVAC) INDUSTRY LLC</Consignee><Zone>Dubai DUBAI</Zone><Country_Code>AE</Country_Code><Pieces>1</Pieces><Weight Is_Volume_Weight=\"V\">4.30</Weight><Description>Low Value £899.99 or less</Description><Cost>37.07</Cost><rank>0</rank><Fuel_Surcharge> 17.00 </Fuel_Surcharge><Fuel_Surcharge_Value>6.30</Fuel_Surcharge_Value><VAT_Surcharge> 0.00 </VAT_Surcharge></Invoice_Row><Invoice_Row><Shipment_Id>12614825</Shipment_Id><Date>09/06/2021</Date><HAWB>MBL213057</HAWB><Consignee>SEAGULL (HVAC) INDUSTRY LLC</Consignee><Zone>Dubai DUBAI</Zone><Country_Code>AE</Country_Code><Weight Is_Volume_Weight=\"\">0.00</Weight><Description>EMERGENCY SITUATION SURCHARGE.</Description><Cost>0.81</Cost><rank>4</rank><Fuel_Surcharge> 17.00 </Fuel_Surcharge><Fuel_Surcharge_Value>0.14</Fuel_Surcharge_Value><VAT_Surcharge> 0.00 </VAT_Surcharge></Invoice_Row></Shipment><Shipment><Invoice_Row><Shipment_Id>12640146</Shipment_Id><Date>11/06/2021</Date><HAWB>MBL213059</HAWB><Consignee>EMIRATES AIR CONDITIONING IND</Consignee><Zone>Abu Dhabi ABU DHABI</Zone><Country_Code>AE</Country_Code><Pieces>1</Pieces><Weight Is_Volume_Weight=\"V\">4.40</Weight><Description>Low Value £899.99 or less</Description><Cost>37.07</Cost><rank>0</rank><Fuel_Surcharge> 17.00 </Fuel_Surcharge><Fuel_Surcharge_Value>6.30</Fuel_Surcharge_Value><VAT_Surcharge> 0.00 </VAT_Surcharge></Invoice_Row><Invoice_Row><Shipment_Id>12640146</Shipment_Id><Date>11/06/2021</Date><HAWB>MBL213059</HAWB><Consignee>EMIRATES AIR CONDITIONING IND</Consignee><Zone>Abu Dhabi ABU DHABI</Zone><Country_Code>AE</Country_Code><Weight Is_Volume_Weight=\"\">0.00</Weight><Description>EMERGENCY SITUATION SURCHARGE.</Description><Cost>0.81</Cost><rank>4</rank><Fuel_Surcharge> 17.00 </Fuel_Surcharge><Fuel_Surcharge_Value>0.14</Fuel_Surcharge_Value><VAT_Surcharge> 0.00 </VAT_Surcharge></Invoice_Row></Shipment></Service_Type><VAT_analysis><net net_VAT0=\"97.64\" net_VAT1=\"0.00\" VAT=\"0.00\"/><fuel_surcharge fuel_VAT0=\"16.60\" fuel_VAT1=\"0.00\" VAT=\"0.00\"/></VAT_analysis><Fuel_Surcharge><Description>Fuel Surcharge</Description><Cost>16.60</Cost><rank>10</rank></Fuel_Surcharge><VAT_Surcharge><Description>VAT</Description><Cost>0.00</Cost><rank>100</rank></VAT_Surcharge></invoice></invoices>";
var xRoot = new XmlRootAttribute { ElementName = "invoices", IsNullable = true };
var xmlSerializer = new XmlSerializer(typeof(invoices), xRoot);
var byteArray = Encoding.ASCII.GetBytes(xmlString);
var stream = new MemoryStream(byteArray);
var modelInvoices = (invoices)xmlSerializer.Deserialize(stream);
Console.WriteLine( Newtonsoft.Json.JsonConvert.SerializeObject(modelInvoices) );
Console.WriteLine("Sample Reference - modelInvoices.invoice[0].header_text.Number = " + modelInvoices.invoice[0].header_text.Number);
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class invoices
private invoicesInvoice[] invoiceField;
[System.Xml.Serialization.XmlElementAttribute("invoice")]
public invoicesInvoice[] invoice
return this.invoiceField;
this.invoiceField = value;
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoice
private invoicesInvoiceHeader_picture header_pictureField;
private invoicesInvoiceHeader_text header_textField;
private invoicesInvoiceService_Type[] service_TypeField;
private invoicesInvoiceVAT_analysis vAT_analysisField;
private invoicesInvoiceFuel_Surcharge fuel_SurchargeField;
private invoicesInvoiceVAT_Surcharge vAT_SurchargeField;
private string typeField;
public invoicesInvoiceHeader_picture header_picture
return this.header_pictureField;
this.header_pictureField = value;
public invoicesInvoiceHeader_text header_text
return this.header_textField;
this.header_textField = value;
[System.Xml.Serialization.XmlElementAttribute("Service_Type")]
public invoicesInvoiceService_Type[] Service_Type
return this.service_TypeField;
this.service_TypeField = value;
public invoicesInvoiceVAT_analysis VAT_analysis
return this.vAT_analysisField;
this.vAT_analysisField = value;
public invoicesInvoiceFuel_Surcharge Fuel_Surcharge
return this.fuel_SurchargeField;
this.fuel_SurchargeField = value;
public invoicesInvoiceVAT_Surcharge VAT_Surcharge
return this.vAT_SurchargeField;
this.vAT_SurchargeField = value;
[System.Xml.Serialization.XmlAttributeAttribute()]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoiceHeader_picture
private string hrefField;
[System.Xml.Serialization.XmlAttributeAttribute()]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoiceHeader_text
private uint numberField;
private string accountField;
private string invoice_DateField;
private string client_NameField;
private string[] client_AddressField;
private string countryField;
private string currencyField;
this.numberField = value;
return this.accountField;
this.accountField = value;
public string Invoice_Date
return this.invoice_DateField;
this.invoice_DateField = value;
public string Client_Name
return this.client_NameField;
this.client_NameField = value;
[System.Xml.Serialization.XmlElementAttribute("Client_Address")]
public string[] Client_Address
return this.client_AddressField;
this.client_AddressField = value;
return this.countryField;
this.countryField = value;
return this.currencyField;
this.currencyField = value;
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoiceService_Type
private invoicesInvoiceService_TypeShipmentInvoice_Row[] shipmentField;
private string nameField;
[System.Xml.Serialization.XmlArrayItemAttribute("Invoice_Row", typeof(invoicesInvoiceService_TypeShipmentInvoice_Row), IsNullable = false)]
public invoicesInvoiceService_TypeShipmentInvoice_Row[] Shipment
return this.shipmentField;
this.shipmentField = value;
[System.Xml.Serialization.XmlAttributeAttribute()]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoiceService_TypeShipmentInvoice_Row
private uint shipment_IdField;
private string dateField;
private string hAWBField;
private string consigneeField;
private string zoneField;
private string country_CodeField;
private byte piecesField;
private bool piecesFieldSpecified;
private invoicesInvoiceService_TypeShipmentInvoice_RowWeight weightField;
private string descriptionField;
private decimal costField;
private decimal fuel_SurchargeField;
private decimal fuel_Surcharge_ValueField;
private decimal vAT_SurchargeField;
return this.shipment_IdField;
this.shipment_IdField = value;
return this.consigneeField;
this.consigneeField = value;
public string Country_Code
return this.country_CodeField;
this.country_CodeField = value;
this.piecesField = value;
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool PiecesSpecified
return this.piecesFieldSpecified;
this.piecesFieldSpecified = value;
public invoicesInvoiceService_TypeShipmentInvoice_RowWeight Weight
this.weightField = value;
public string Description
return this.descriptionField;
this.descriptionField = value;
public decimal Fuel_Surcharge
return this.fuel_SurchargeField;
this.fuel_SurchargeField = value;
public decimal Fuel_Surcharge_Value
return this.fuel_Surcharge_ValueField;
this.fuel_Surcharge_ValueField = value;
public decimal VAT_Surcharge
return this.vAT_SurchargeField;
this.vAT_SurchargeField = value;
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoiceService_TypeShipmentInvoice_RowWeight
private string is_Volume_WeightField;
private decimal valueField;
[System.Xml.Serialization.XmlAttributeAttribute()]
public string Is_Volume_Weight
return this.is_Volume_WeightField;
this.is_Volume_WeightField = value;
[System.Xml.Serialization.XmlTextAttribute()]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoiceVAT_analysis
private invoicesInvoiceVAT_analysisNet netField;
private invoicesInvoiceVAT_analysisFuel_surcharge fuel_surchargeField;
public invoicesInvoiceVAT_analysisNet net
public invoicesInvoiceVAT_analysisFuel_surcharge fuel_surcharge
return this.fuel_surchargeField;
this.fuel_surchargeField = value;
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoiceVAT_analysisNet
private decimal net_VAT0Field;
private decimal net_VAT1Field;
private decimal vATField;
[System.Xml.Serialization.XmlAttributeAttribute()]
return this.net_VAT0Field;
this.net_VAT0Field = value;
[System.Xml.Serialization.XmlAttributeAttribute()]
return this.net_VAT1Field;
this.net_VAT1Field = value;
[System.Xml.Serialization.XmlAttributeAttribute()]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoiceVAT_analysisFuel_surcharge
private decimal fuel_VAT0Field;
private decimal fuel_VAT1Field;
private decimal vATField;
[System.Xml.Serialization.XmlAttributeAttribute()]
return this.fuel_VAT0Field;
this.fuel_VAT0Field = value;
[System.Xml.Serialization.XmlAttributeAttribute()]
return this.fuel_VAT1Field;
this.fuel_VAT1Field = value;
[System.Xml.Serialization.XmlAttributeAttribute()]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoiceFuel_Surcharge
private string descriptionField;
private decimal costField;
public string Description
return this.descriptionField;
this.descriptionField = value;
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class invoicesInvoiceVAT_Surcharge
private string descriptionField;
private decimal costField;
public string Description
return this.descriptionField;
this.descriptionField = value;