Stò provando a fare una semplice operazione di serializzazione e deserializzazione con la classe XMLSerializer.
In fase di Serializzazione tutto OK, mentre in fase di deserializzazione mi viene restituita un'eccezzione che non capisco.
Il file XML è formattato correttamente (anche perchè lo ha creato il metodo di serializzazione). Allego struttura del file XML
Il codice che utilizzo è un pattern Singleton per memorizzare delle configurazioni ed utilizzo la serializzazione per scrivere e leggere un file XML.
Public Class MiaClasse
'Oggetto per il controllo del singleton
Private Shared _Values As MiaClasse
Private Const _FileConfig As String = "MioFile.xml"
Shared Sub New()
Load()
End Sub
Public Shared ReadOnly Property Value() As MiaClasse
Get
'Controlla che non esista un'istanza della classe (Singleton)
If (_Values Is Nothing) Then
'istanzia la classe solo se non già istanziata
_Values = New MiaClasse
End If
'Ritorna la classe istanziata
Return _Values
End Get
End Property
Friend Shared Sub Load()
'Deserializza il file XML
Using fs As New IO.FileStream(_FileConfig, IO.FileMode.Open)
Dim xser As New Xml.Serialization.XmlSerializer(GetType(MiaClasse))
_Values = CType(xser.Deserialize(fs), MiaClasse)
End Using
End Sub
Public Shared Sub Save()
'Serializza il file XML
Using fs As New IO.FileStream(_FileConfig, IO.FileMode.Create)
Dim xser As New Xml.Serialization.XmlSerializer(GetType(MiaClasse))
xser.Serialize(fs, _Values)
End Using
End Sub
#Region "Proprietà"
...
Messe proprietà Public Read/Write tutte di tipo String (per ora)
...
#End Region
End Class
Ho fatto diverse prove senza successo... Onestamente non capisco il senso dell'errore...
Grazie!!!
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole