For demonstration I shorten your XML sample to, (save it to a file on disc)
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:ID>03000</cbc:ID>
<cbc:IssueDate>2021-11-18</cbc:IssueDate>
<cbc:Note>Klant 6176 Factuur 03000</cbc:Note>
</Invoice>
Class file for XML above will be (Class with Nested Partial Class as you already have)
public class XMLInvoice
{
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2", IsNullable = false)]
public partial class Invoice
{
private ushort idField;
private System.DateTime issueDateField;
private string noteField;
[System.Xml.Serialization.XmlElementAttribute(Namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")]
public ushort ID
{
get
{
return this.idField;
}
set
{
this.idField = value;
}
}
[System.Xml.Serialization.XmlElementAttribute(Namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2", DataType = "date")]
public System.DateTime IssueDate
{
get
{
return this.issueDateField;
}
set
{
this.issueDateField = value;
}
}
[System.Xml.Serialization.XmlElementAttribute(Namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")]
public string Note
{
get
{
return this.noteField;
}
set
{
this.noteField = value;
}
}
}
}
To read XML file and get values, use this
private void GetXMLData()
{
XMLInvoice.Invoice MyData;
string file = @"<place here full apth and name of XML sample file";
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(XMLInvoice.Invoice));
using (System.IO.Stream reader = new System.IO.FileStream(file, System.IO.FileMode.Open))
{
MyData = (XMLInvoice.Invoice)serializer.Deserialize(reader);
}
ushort ID = MyData.ID;
DateTime IssueDate = MyData.IssueDate;
string Note = MyData.Note;
}
Run in Debug.....