Como ler dados de objeto a partir de um arquivo XML (C# e Visual Basic)
Este exemplo lê Objeto dados que foram previamente gravados em um arquivo XML usando a classe XmlSerializer.
Exemplo
Este exemplo de código também está disponível como um trecho de código IntelliSense. No seletor de trecho de código, ele está localizado em XML . Para obter mais informações, consulte Trechos de código.
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()
{
// First write something so that there is something to read ...
var b = new Book { title = "Serialization Overview" };
var writer = new System.Xml.Serialization.XmlSerializer(typeof(Book));
var wfile = new System.IO.StreamWriter(@"c:\temp\SerializationOverview.xml");
writer.Serialize(wfile, b);
wfile.Close();
// Now we can read the serialized book ...
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 = (Book)reader.Deserialize(file);
file.Close();
Console.WriteLine(overview.title);
}
Compilando o código
Substitua o nome de arquivo "c:\IntroToVB.XML" com o nome do arquivo que contém os dados serializados. Para obter mais informações sobre como publicar série de dados, consulte Como gravar dados de objeto em um arquivo XML (C# e Visual Basic).
A classe deve ter um construtor público sem parâmetros.
Apenas propriedades públicas e campos estão desserializados.
Programação robusta
As seguintes condições podem causar uma exceção:
A classe seja serializada não tem um construtor público, sem-parâmetros.
Os dados no arquivo não representam dados da classe a ser desserializado.
O arquivo não existe (IOException).
Segurança
Sempre verifique se as entradas e nunca desserializar dados de uma fonte não confiável. O objeto recriado é executado em um computador local com as permissões do código que desserializado-lo. Verifique todas as entradas antes de usar os dados no seu aplicativo.
Consulte também
Tarefas
Como gravar dados de objeto em um arquivo XML (C# e Visual Basic)