Como: gravar dados de objeto para 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 Gerenciador de trechos 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 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)