Exemple de sérialisation d'objets

Contenu du snippet

Rien de bien compliqué, juste histoire de montrer comment sérialiser un objet de votre application.

Source / Exemple :


Imports System.Xml
Imports System.Xml.Serialization
Imports System.IO
Imports System.Text

Public Class Humain
    Public Nom As String
    Public Prenom As String
    Public DateNaissance As String
End Class

Module Serial

    Dim Fichier As String = "Objet_Humain.xml"
    Dim Objet_Humain As Humain

    Public Sub Deserialiser()
        Try
            Dim x As XmlSerializer = New XmlSerializer(GetType(Humain))
            Dim fs As New FileStream(Fichier, FileMode.Open)
            Dim r As New XmlTextReader(fs)

            Objet_Humain = CType(x.Deserialize(r), Humain)
            r.Close()
            fs.Close()

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Public Sub Serialiser()
        Try
            Dim x As XmlSerializer = New XmlSerializer(GetType(Humain))

            Dim fs As New FileStream(Fichier, FileMode.Create)
            Dim w As New XmlTextWriter(fs, New UTF8Encoding)
            w.Formatting = Formatting.Indented
            x.Serialize(w, Objet_Humain)
            w.Close()
            fs.Close()

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Public Sub main()
        Try
            Objet_Humain = New Humain
            Objet_Humain.Nom = "X"
            Objet_Humain.Prenom = "Senynium"
            Objet_Humain.DateNaissance = "07/08/80"

            MessageBox.Show("Nom : " & Objet_Humain.Nom & vbCrLf & "Prenom : " & Objet_Humain.Prenom & vbCrLf & "Ne le : " & Objet_Humain.DateNaissance, "Exemple de sérialisation", MessageBoxButtons.OK)

            Serialiser()

            Objet_Humain = New Humain
            Objet_Humain.Nom = "A changé"
            Objet_Humain.Prenom = "Achangé"
            Objet_Humain.DateNaissance = "A changé"

            MessageBox.Show("Nom : " & Objet_Humain.Nom & vbCrLf & "Prenom : " & Objet_Humain.Prenom & vbCrLf & "Ne le : " & Objet_Humain.DateNaissance, "Exemple de sérialisation", MessageBoxButtons.OK)

            Objet_Humain = New Humain
            Deserialiser()

            MessageBox.Show("Nom : " & Objet_Humain.Nom & vbCrLf & "Prenom : " & Objet_Humain.Prenom & vbCrLf & "Ne le : " & Objet_Humain.DateNaissance, "Exemple de sérialisation", MessageBoxButtons.OK)

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

End Module

Conclusion :


C'est juste à titre d'exemple donc ... L'objet est sérialisé et écrit dans un fichier xml. Utile pour les échanges entre applications, ou pour un transfert internet.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.