Come deserializzare un oggetto utilizzando XmlSerializerHow to deserialize an object using XmlSerializer

Quando si deserializza un oggetto, il formato di trasporto determina se verrà creato un flusso o un oggetto file.When you deserialize an object, the transport format determines whether you will create a stream or file object. Una volta determinato il formato di trasporto, è possibile chiamare i metodi Serialize o Deserialize, in base alle necessità.After the transport format is determined, you can call the Serialize or Deserialize methods, as required.

Per deserializzare un oggettoTo deserialize an object

  1. Construire un XmlSerializer che utilizza il tipo dell'oggetto da deserializzare.Construct a XmlSerializer using the type of the object to deserialize.

  2. Chiamare il metodo Deserialize per produrre una replica dell'oggetto.Call the Deserialize method to produce a replica of the object. Durante la deserializzazione, è necessario eseguire il cast dell'oggetto restituito al tipo dell'originale, come illustrato nell'esempio seguente, che deserializza l'oggetto da un file (sebbene possa anche essere deserializzato da un flusso).When deserializing, you must cast the returned object to the type of the original, as shown in the following example, which deserializes the object from a file (although it could also be deserialized from a stream).

    ' 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.
    Dim 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)
    
    // 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.
    var myFileStream = new FileStream("myFileName.xml", FileMode.Open);
    // Call the Deserialize method and cast to the object type.
    var myObject = (MySerializableClass) mySerializer.Deserialize(myFileStream)
    

Vedere ancheSee also