Como desserializar um objeto usando XmlSerializer

Quando você desserializar um objeto, o formato do transporte determina se você criará um fluxo ou objeto de arquivo. Após o formato do transporte ser determinado, você poderá chamar os métodos Serialize ou Deserialize, conforme o necessário.

Para desserializar um objeto

  1. Construa um XmlSerializer usando o tipo do objeto para desserializar.

  2. Chame o método Deserialize para gerar uma réplica do objeto. Ao desserializar, será necessário converter o objeto retornado para o tipo do original, conforme mostrado no exemplo a seguir, que desserializará o objeto de um arquivo (embora também possa ser desserializado de um fluxo).

    ' Construct an instance of the XmlSerializer with the type
    ' of object that is being deserialized.
    Dim mySerializer As New XmlSerializer(GetType(MySerializableClass))
    ' To read the file, create a FileStream.
    Using myFileStream As New FileStream("myFileName.xml", FileMode.Open)
        ' Call the Deserialize method and cast to the object type.
        Dim myObject = CType( _
             mySerializer.Deserialize(myFileStream), MySerializableClass)
     End Using
    
    // Construct an instance of the XmlSerializer with the type
    // of object that is being deserialized.
    var mySerializer = new XmlSerializer(typeof(MySerializableClass));
    // To read the file, create a FileStream.
    using var myFileStream = new FileStream("myFileName.xml", FileMode.Open);
    // Call the Deserialize method and cast to the object type.
    var myObject = (MySerializableClass)mySerializer.Deserialize(myFileStream);
    

Confira também