Como: Gravar dados de objeto em um arquivo XML (C# e Visual Basic)
Este exemplo grava o objeto de uma classe para um arquivo XML usando a classe XmlSerializer.
Exemplo
Este exemplo de código define uma classe denominada Book, cria uma instância da classe e usa serialização XML para gravar uma instância em um arquivo XML.
Um código semelhante a este está disponível como um trecho de código do IntelliSense. No seletor de trecho de código, ele está localizado em XML . Para obter mais informações, consulte Como: Inserir trechos de código de IntelliSense.
Public Class Book
Public Title As String
End Class
Public Sub WriteXML()
Dim overview As New Book
overview.Title = "Serialization Overview"
Dim writer As New System.Xml.Serialization.XmlSerializer(GetType(Book))
Dim file As New System.IO.StreamWriter(
"c:\temp\SerializationOverview.xml")
writer.Serialize(file, overview)
file.Close()
End Sub
public class Book
{
public String title;
}
public void WriteXML()
{
Book overview = new Book();
overview.title = "Serialization Overview";
System.Xml.Serialization.XmlSerializer writer =
new System.Xml.Serialization.XmlSerializer(typeof(Book));
System.IO.StreamWriter file = new System.IO.StreamWriter(
@"c:\temp\SerializationOverview.xml");
writer.Serialize(file, overview);
file.Close();
}
Compilando o código
A classe deve ter um construtor público sem parâmetros.
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.
O arquivo existe e é somente leitura (IOException).
O caminho é muito longo (PathTooLongException).
O disco está cheio (IOException).
Segurança
Este exemplo cria um novo arquivo, se o arquivo ainda não existir. Se um aplicativo precisar criar um arquivo, o aplicativo precisa do acesso Create para a pasta. Se o arquivo já existir, o aplicativo precisa apenas do acesso Write, um privilégio menor. Quando possível, é mais seguro criar o arquivo durante a implantação e somente conceder acesso Read para um único arquivo, e não acesso Create para uma pasta.
Consulte também
Tarefas
Como: Ler dados de objeto de um arquivo XML (C# e Visual Basic)