Procedura: leggere dati oggetto in un file XML (C# e Visual Basic)
Nell'esempio riportato di seguito vengono letti i dati di oggetti precedentemente scritti in un file XML utilizzando la classe XmlSerializer.
Esempio
Questo esempio di codice è disponibile anche come frammento di codice IntelliSense. Nella casella di selezione dei frammenti di codice si trova in XML. Per ulteriori informazioni, vedere Procedura: inserire frammenti di codice IntelliSense.
Public Class Book
Public Title As String
End Class
Public Sub ReadXML()
Dim reader As New System.Xml.Serialization.XmlSerializer(GetType(Book))
Dim file As New System.IO.StreamReader(
"c:\temp\SerializationOverview.xml")
Dim overview As Book
overview = CType(reader.Deserialize(file), Book)
Console.WriteLine(overview.Title)
End Sub
public class Book
{
public String title;
}
public void ReadXML()
{
System.Xml.Serialization.XmlSerializer reader =
new System.Xml.Serialization.XmlSerializer(typeof(Book));
System.IO.StreamReader file = new System.IO.StreamReader(
@"c:\temp\SerializationOverview.xml");
Book overview = new Book();
overview = (Book)reader.Deserialize(file);
Console.WriteLine(overview.title);
}
Compilazione del codice
Sostituire il nome del file "c:\IntroToVB.xml" con il nome del file contenente i dati serializzati. Per ulteriori informazioni sulla serializzazione dei dati, vedere Procedura: scrivere dati oggetto in un file XML (C# e Visual Basic).
È necessario che nella classe sia presente un costruttore pubblico senza parametri.
Solo le proprietà e i campi pubblici sono deserializzati.
Programmazione efficiente
Le seguenti condizioni possono generare un'eccezione:
Nella classe da deserializzare non è presente un costruttore pubblico senza parametri.
I dati del file non rappresentano dati dalla classe da deserializzare.
Il file non esiste (IOException).
Sicurezza
Verificare sempre gli input e non deserializzare mai dati da un'origine non attendibile. L'oggetto ricreato viene eseguito su un computer locale con le autorizzazioni del codice che lo ha deserializzato. Prima di usare i dati nell'applicazione verificare tutti gli input.
Vedere anche
Attività
Procedura: scrivere dati oggetto in un file XML (C# e Visual Basic)