public static LojaDeFilmes TestData() { LojaDeFilmes result = new LojaDeFilmes(); // ... return(result); }
static void Main(string[] args) { LojaDeFilmes loja = ObterDados(); BinaryFormatter formatter = new BinaryFormatter(); using (FileStream outputStream = new FileStream("Loja.bin", FileMode.OpenOrCreate, FileAccess.Write)) { formatter.Serialize(outputStream, loja); } LojaDeFilmes objetoDestino; using (FileStream inputStream = new FileStream("Loja.bin", FileMode.Open, FileAccess.Read)) { objetoDestino = (LojaDeFilmes)formatter.Deserialize(inputStream); } foreach (var filme in objetoDestino.Filmes) { Console.WriteLine(filme.Titulo); } Console.ReadKey(); }
static void Main(string[] args) { //TAREFA: transferir os dados de um objeto de uma classe // para outra classe, usando um arquivo XML intermediário // //1) Obter os dados de uma loja de filmes (classe LojaDeFilmes) // 1.1) Acessar o método ObterDados() //2) Salvar os dados da loja num arquivo xml // 2.1) A classe XmlSerializer // 2.2) Gravando xml em string com StringWriter e com Serialize() // 2.3) Imprimindo o xml na tela // 2.4) Abrindo stream de arquivo com FileStream // 2.5) Gravando xml no arquivo com Serialize() //3) Ler o arquivo xml e converter em um objeto MovieStore // 3.1) Usando uma nova instância de XmlSerializer // 3.2) Abrindo arquivo para leitura com FileStream // 3.3) Desserializando stream com método Deserialize() ///<image url="$(ProjectDir)\img01.png"/> //INÍCIO DO CÓDIGO DO PRIMEIRO SISTEMA LojaDeFilmes loja = ObterDados(); XmlSerializer xmlSerializer = new XmlSerializer(typeof(LojaDeFilmes)); using (StringWriter stringWriter = new StringWriter()) { xmlSerializer.Serialize(stringWriter, loja); Console.WriteLine(stringWriter); } using (FileStream fileStream = new FileStream("Loja.xml", FileMode.Create, FileAccess.Write)) { xmlSerializer.Serialize(fileStream, loja); } //AQUI VIRIA O CÓDIGO DO SEGUNDO SISTEMA XmlSerializer xmlSerializer2 = new XmlSerializer(typeof(MovieStore)); MovieStore movieStore; using (FileStream fileStream = new FileStream("Loja.xml", FileMode.Open, FileAccess.Read)) { movieStore = (MovieStore)xmlSerializer2.Deserialize(fileStream); } foreach (var movie in movieStore.Movies) { Console.WriteLine(movie.Title); } Console.ReadKey(); }