Beispiel #1
0
        static void Main(string[] args)
        {
            LojaDeFilmes loja = ObterDados();

            var serializer = new DataContractSerializer(typeof(LojaDeFilmes));

            using (var fileStream = new FileStream("Loja.xml", FileMode.Create, FileAccess.Write))
            {
                serializer.WriteObject(fileStream, loja);
            }

            LojaDeFilmes copiaDaLoja;

            using (var fileStream = new FileStream("Loja.xml", FileMode.Open, FileAccess.Read))
            {
                copiaDaLoja = (LojaDeFilmes)serializer.ReadObject(fileStream);
            }

            foreach (var filme in copiaDaLoja.Filmes)
            {
                Console.WriteLine(filme.Titulo);
            }

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            LojaDeFilmes loja = ObterDados();
            string       json;

            ////1) usando DataContractSerializer
            //Console.WriteLine("1) usando DataContractSerializer");
            DataContractSerializer serializer1 = new DataContractSerializer(typeof(LojaDeFilmes));

            using (FileStream outputStream =
                       new FileStream("Filmes.xml", FileMode.OpenOrCreate, FileAccess.Write))
            {
                serializer1.WriteObject(outputStream, loja);
            }

            MovieStore             movieStore;
            DataContractSerializer serializer2 = new DataContractSerializer(typeof(MovieStore));

            using (FileStream inputStream =
                       new FileStream("Filmes.xml", FileMode.Open, FileAccess.Read))
            {
                movieStore = (MovieStore)serializer2.ReadObject(inputStream);
            }

            foreach (var movie in movieStore.Movies)
            {
                Console.WriteLine(movie.Title);
            }

            //2) usando DataContractJsonSerializer
            Console.WriteLine("2) usando DataContractJsonSerializer");
            var serializer3 = new DataContractJsonSerializer(typeof(MovieStore));
            var stream      = new MemoryStream();

            using (var writer = new StreamWriter(stream))
            {
                serializer3.WriteObject(stream, loja);
                using (var reader = new StreamReader(stream))
                {
                    stream.Position = 0;
                    json            = reader.ReadToEnd();
                    Console.WriteLine(json);
                    stream.Position = 0;
                    movieStore      = (MovieStore)serializer3.ReadObject(reader.BaseStream);
                }
            }
            foreach (var movie in movieStore.Movies)
            {
                Console.WriteLine(movie.Title);
            }
            Console.WriteLine();

            Console.ReadKey();
        }