Module Module1 Sub Main() Dim XS As New XmlSerializer(GetType(App_Param)) Dim a As New App_Param a.Type_File = 10 a.Separ_Dec = "," a.Separ_File = "." a.Tps_Echantill = 10 a.Extension = ".tit" a.State_Stop_Acq_Auto = True a.Time_Stop_Acq_Auto = 10 a.Langage = New CultureInfo("fr-FR") Using fs As New FileStream("C:\myXMLSerializedFile.xml", FileMode.Create, FileAccess.Write) XS.Serialize(fs, a) End Using Dim b As App_Param Using fs As New FileStream("C:\myXMLSerializedFile.xml", FileMode.Open, FileAccess.Read) b = CType(XS.Deserialize(fs), App_Param) End Using Console.WriteLine(b.Type_File.ToString()) Console.WriteLine(b.Separ_Dec) Console.WriteLine(b.Separ_File) Console.WriteLine(b.Tps_Echantill.ToString()) Console.WriteLine(b.Extension) Console.WriteLine(b.State_Stop_Acq_Auto.ToString()) Console.WriteLine(b.Time_Stop_Acq_Auto.ToString()) Console.WriteLine(b.Langage.ToString()) Console.Read() End Sub End Module <Serializable()> Public Structure App_Param Implements IXmlSerializable Public Type_File As Byte Public Separ_Dec As String Public Separ_File As String Public Tps_Echantill As ULong Public Extension As String Public State_Stop_Acq_Auto As Boolean Public Time_Stop_Acq_Auto As ULong 'L'attribut permet de ne pas prendre en compte la propriété <XmlIgnore()> _ Public Langage As CultureInfo Public Function GetSchema() As System.Xml.Schema.XmlSchema Implements System.Xml.Serialization.IXmlSerializable.GetSchema Return Nothing End Function 'Déserialisation Public Sub ReadXml(reader As System.Xml.XmlReader) Implements System.Xml.Serialization.IXmlSerializable.ReadXml 'Ici on re-lit le fichier XML reader.Read() reader.ReadStartElement("TypeFile") Type_File = Byte.Parse(reader.ReadContentAsString) reader.ReadEndElement() reader.ReadStartElement("SeparDec") Separ_Dec = reader.ReadContentAsString reader.ReadEndElement() reader.ReadStartElement("SeparFile") Separ_File = reader.ReadContentAsString reader.ReadEndElement() reader.ReadStartElement("TpsEchantill") Tps_Echantill = ULong.Parse(reader.ReadContentAsString) reader.ReadEndElement() reader.ReadStartElement("Extension") Extension = reader.ReadContentAsString reader.ReadEndElement() reader.ReadStartElement("StateStopAcqAuto") State_Stop_Acq_Auto = Boolean.Parse(reader.ReadContentAsString) reader.ReadEndElement() reader.ReadStartElement("TimeStopAcqAuto") Time_Stop_Acq_Auto = ULong.Parse(reader.ReadContentAsString) reader.ReadEndElement() reader.ReadStartElement("Langage") Langage = New CultureInfo(reader.ReadContentAsString) reader.ReadEndElement() End Sub 'Serialisation Public Sub WriteXml(writer As System.Xml.XmlWriter) Implements System.Xml.Serialization.IXmlSerializable.WriteXml 'Ici on cré le contenu du fichier XML writer.WriteElementString("TypeFile", Me.Type_File.ToString()) writer.WriteElementString("SeparDec", Me.Separ_Dec) writer.WriteElementString("SeparFile", Me.Separ_File) writer.WriteElementString("TpsEchantill", Me.Tps_Echantill.ToString()) writer.WriteElementString("Extension", Me.Extension) writer.WriteElementString("StateStopAcqAuto", Me.State_Stop_Acq_Auto.ToString()) writer.WriteElementString("TimeStopAcqAuto", Me.Time_Stop_Acq_Auto.ToString()) writer.WriteElementString("Langage", Me.Langage.ToString()) End Sub End Structure