static void Main(string[] args) { //Из лабораторной №5 выберите класс с наследованием и / или //композицией / агрегацией для сериализации. Выполните //сериализацию / десериализацию объекта используя //a.бинарный, var stone1 = new Stone { Color = "Белый", Price = 20, Status = ProductStatus.Ready, Weight = 100 }; // создаем объект BinaryFormatter BinaryFormatter formatter = new BinaryFormatter(); // получаем поток, куда будем записывать сериализованный объект using (FileStream fs = new FileStream("Product1.dat", FileMode.OpenOrCreate)) { formatter.Serialize(fs, stone1); } // десериализация using (FileStream fs = new FileStream("Product1.dat", FileMode.OpenOrCreate)) { Stone newStone = (Stone)formatter.Deserialize(fs); Console.WriteLine($"{newStone}"); } //b.SOAP, var pStone1 = new Stone { Color = "Желтый", Price = 40, Status = ProductStatus.Ready, Weight = 40 }; SoapFormatter soapFormatter = new SoapFormatter(); using (Stream fStream = new FileStream("Product2.soap", FileMode.Create)) { soapFormatter.Serialize(fStream, pStone1); } using (FileStream fs = new FileStream("Product2.soap", FileMode.Open)) { Stone newStone2 = (Stone)soapFormatter.Deserialize(fs); Console.WriteLine($"{newStone2}"); } //c.JSON формат var ruby1 = new Stone { Color = "Red", Price = 57, Status = ProductStatus.None, Weight = 30 }; DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(Stone)); using (FileStream fs = new FileStream("Product3.json", FileMode.OpenOrCreate)) { jsonFormatter.WriteObject(fs, ruby1); } using (FileStream fs = new FileStream("Product3.json", FileMode.OpenOrCreate)) { Stone newStone3 = (Stone)jsonFormatter.ReadObject(fs); Console.WriteLine($"{newStone3}"); } //d.XML формат var diamond1 = new Stone { Color = "Прозрачный", Price = 89, Status = ProductStatus.Ready, Weight = 28 }; XmlSerializer xml = new XmlSerializer(typeof(Stone)); using (FileStream fs = new FileStream("Product4.xml", FileMode.OpenOrCreate)) { xml.Serialize(fs, diamond1); } using (FileStream fs = new FileStream("Product4.xml", FileMode.OpenOrCreate)) { Stone newStone4 = xml.Deserialize(fs) as Stone; Console.WriteLine($"{newStone4}"); } //2.Создайте коллекцию(массив) объектов и выполните //сериализацию / десериализацию. var s1 = new Stone { Color = "Розовый", Price = 57, Status = ProductStatus.None, Weight = 30 }; var s2 = new Stone { Color = "Синий", Price = 89, Status = ProductStatus.Ready, Weight = 28 }; var s3 = new Stone { Color = "Зелёный", Price = 30, Status = ProductStatus.None, Weight = 41 }; var s4 = new Stone { Color = "Чёрный", Price = 50, Status = ProductStatus.Ready, Weight = 44 }; Stone[] arr = new Stone[] { s1, s2, s3, s4 }; DataContractSerializer array = new DataContractSerializer(typeof(Stone[])); using (FileStream fs = new FileStream("array.xml", FileMode.OpenOrCreate)) { array.WriteObject(fs, arr); } using (FileStream fs = new FileStream("array.xml", FileMode.OpenOrCreate)) { Stone[] newS = (Stone[])array.ReadObject(fs); foreach (Stone s in newS) { Console.WriteLine($"{s}"); } } //3.Используя XPath напишите два селектора для вашего XML документа. XmlDocument xDoc = new XmlDocument(); xDoc.Load("array.xml"); XmlElement xRoot = xDoc.DocumentElement; XmlNodeList all = xRoot.SelectNodes("*"); //выбирает все узлы foreach (XmlNode x in all) { Console.WriteLine(x.OuterXml); //вывод всей разметки } XmlNode parts = xRoot.FirstChild; //выбирает узлы Stone Console.WriteLine(parts.FirstChild.InnerText); //вывод значения первого узла //4.Используя Linq to XML(или Linq to JSON) создайте новый xml(json) - документ и напишите несколько запросов. XDocument xdoc = new XDocument(); XElement stoneshop = new XElement("stoneshop"); //первый эл XAttribute bs_name_attr = new XAttribute("name", "theorite"); XElement bs_country_elem = new XElement("country", "Belgium"); XElement bs_auc_elem = new XElement("auction", "yes"); stoneshop.Add(bs_name_attr); //заполняем аттрибутом и элем-ми stoneshop.Add(bs_country_elem); stoneshop.Add(bs_auc_elem); XElement stoneshop2 = new XElement("stoneshop"); // второй эл XAttribute bs_name_attr2 = new XAttribute("name", "ametrine"); XElement bs_country_elem2 = new XElement("country", "Bolivia"); XElement bs_auc_elem2 = new XElement("auction", "yes"); stoneshop2.Add(bs_name_attr2); //заполняем аттрибутом и элем-ми stoneshop2.Add(bs_country_elem2); stoneshop2.Add(bs_auc_elem2); XElement root = new XElement("root"); //корневой элемент root.Add(stoneshop); root.Add(stoneshop2); xdoc.Add(root); xdoc.Save("linq.xml"); //сохраняем в файл Console.WriteLine("Где найти Аметрин?"); //1-й запрос var items = xdoc.Element("root").Elements("stoneshop") .Where(p => p.Attribute("name").Value == "ametrine") .Select(p => p); foreach (var item in items) { Console.WriteLine(item.Element("country").Value); } Console.WriteLine("Какие камни представлены на аукционе?");//2-й запрос var coun = xdoc.Element("root").Elements("stoneshop") .Where(p => p.Element("auction").Value == "yes") .Select(p => p); foreach (var c in coun) { Console.WriteLine(c.Attribute("name").Value); } }
public static string SetCars() { var req = HttpWebRequest.Create("http://localhost:8080/CARS"); req.Method = "POST"; req.Credentials = CredentialCache.DefaultCredentials; MemoryStream stream1 = new MemoryStream(); List <Autotruck> car = new List <Autotruck>(); for (int i = 0; i < 10; i++) { car.Add(new Autotruck() { Carbrand = "Модель" + i.ToString(), CarNumber = "Номер" + i.ToString(), Code = Guid.NewGuid(), Driver = "Водила" + i.ToString(), Id = Guid.NewGuid(), isUsed = true, Shipper = Guid.NewGuid(), TrailerNumber = "tr_num" + i.ToString() }); } DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Autotruck[]), new DataContractJsonSerializerSettings { DateTimeFormat = new DateTimeFormat("yyyy-MM-dd'T'HH:mm:ss") }); ser.WriteObject(stream1, car.ToArray()); stream1.Position = 0; //StringReader sr = new StringReader("{ \"login\": \"user1\" , \"password\": \"user1\"}"); byte[] ch = new byte[stream1.Length]; var cnt = stream1.Read(ch, 0, (int)stream1.Length); req.ContentLength = stream1.Length; req.ContentType = "application/json"; var strem = req.GetRequestStream(); strem.Write(ch, 0, (int)stream1.Length); //for (int i = 0; i < cnt; i++) //{ //strem.WriteByte((byte)ch[i]); //} strem.Close(); var resp = (HttpWebResponse)req.GetResponse(); System.Console.WriteLine("<--------------------"); System.Console.WriteLine("ContentType:"); System.Console.WriteLine(" " + resp.ContentType); System.Console.WriteLine("ContentLength:{0}", resp.ContentLength); System.Console.WriteLine(""); var res_str = resp.GetResponseStream(); byte[] br = new byte[(int)resp.ContentLength]; res_str.Read(br, 0, (int)resp.ContentLength); res_str.Close(); var memstr = new MemoryStream(); var rdr = new StreamReader(memstr, Encoding.UTF8); memstr.Write(br, 0, br.Length); memstr.Position = 0; var ret = rdr.ReadToEnd(); rdr.Close(); memstr.Close(); System.Console.WriteLine(ret); foreach (var VARIABLE in resp.Headers) { System.Console.WriteLine(VARIABLE); } for (int i = 0; i < resp.Headers.Count; ++i) { Console.WriteLine("\nHeader Name:{0}, Header value :{1}", resp.Headers.Keys[i], resp.Headers[i]); if (resp.Headers.Keys[i] == "Set-Cookie") { var token = resp.Headers[i].Split('='); resp.Close(); return(token[1]); } } System.Console.WriteLine("cookies"); foreach (Cookie cookieValue in resp.Cookies) { System.Console.WriteLine(cookieValue.ToString()); } resp.Close(); return(string.Empty); }
static void Main(string[] args) { #region Laba 5 Number Num; Num.N = (int)Numbers.Lab; Num.G = (int)Numbers.Group; Num.C = (int)Numbers.Course; Console.WriteLine($"Лаб. раб. №{Num.N}."); Console.WriteLine($"Вариант {Num.G}."); Console.WriteLine($"{Num.G} группа."); Console.WriteLine($"{Num.C} курс.\n"); #region Laba 14 Question Vopros = new Question(); BinaryFormatter binformatter = new BinaryFormatter(); using (FileStream binfs = new FileStream("BinObj.dat", FileMode.OpenOrCreate)) { binformatter.Serialize(binfs, Vopros); Console.WriteLine("Объект класса Question сериализован."); } using (FileStream binfs = new FileStream("BinObj.dat", FileMode.OpenOrCreate)) { Question Vopros1 = (Question)binformatter.Deserialize(binfs); Console.WriteLine("Объект класса Question десериализован.\n\n"); Vopros1.Quest = "Какой-то easy вопрос."; Vopros1.ToString(); Vopros1.Do(); Vopros1.GetOut(); Console.WriteLine(); } Test Test = new Test(); SoapFormatter sformatter = new SoapFormatter(); using (FileStream soapfs = new FileStream("SoapObj.dat", FileMode.OpenOrCreate)) { sformatter.Serialize(soapfs, Test); Console.WriteLine("Объект класса Test сериализован."); } using (FileStream soapfs = new FileStream("SoapObj.dat", FileMode.OpenOrCreate)) { Test Test0 = (Test)sformatter.Deserialize(soapfs); Console.WriteLine("Объект класса Test десериализован.\n\n"); Test0.T(); Test0.Testing = "Какой-то тест."; Test0.ToString(); Test0.Do(); Test0.GetOut(); Console.WriteLine(); } Exam Exam0 = new Exam(); XmlSerializer xmlformatter = new XmlSerializer(typeof(Exam)); using (FileStream xmlfs = new FileStream("XmlObj.dat", FileMode.OpenOrCreate)) { sformatter.Serialize(xmlfs, Exam0); Console.WriteLine("Объект класса Exam сериализован."); } using (FileStream xmlfs = new FileStream("XmlObj.dat", FileMode.OpenOrCreate)) { Exam Exam1 = (Exam)sformatter.Deserialize(xmlfs); Console.WriteLine("Объект класса Exam десериализован.\n\n"); Exam1.E(); Exam1.Examin = "Какой-то экзамен."; Exam1.ToString(); Exam1.Do(); Exam1.GetOut(); Console.WriteLine(); } FinalExam FinEx0 = new FinalExam(); DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(FinalExam)); using (FileStream jsonfs = new FileStream("FinalExam.json", FileMode.OpenOrCreate)) { jsonFormatter.WriteObject(jsonfs, FinEx0); Console.WriteLine("Объект класса FinalExam сериализован."); } using (FileStream jsonfs = new FileStream("FinalExam.json", FileMode.OpenOrCreate)) { FinalExam FinEx1 = (FinalExam)jsonFormatter.ReadObject(jsonfs); Console.WriteLine("Объект класса FinalExam десериализован.\n\n"); FinEx1.FE(); FinEx1.Final = "Какой-то выпускной экзамен."; FinEx1.ToString(); FinEx1.Do(); FinEx1.GetOut(); Console.WriteLine(); } ArrayList objectList = new ArrayList() { 1, 2, 5, 10, "Array", "List" }; DataContractJsonSerializer collect = new DataContractJsonSerializer(typeof(ArrayList)); using (FileStream fs = new FileStream("ArrayList.json", FileMode.OpenOrCreate)) { collect.WriteObject(fs, objectList); } using (FileStream fs = new FileStream("ArrayList.json", FileMode.OpenOrCreate)) { ArrayList objects = (ArrayList)collect.ReadObject(fs); foreach (object o in objectList) { Console.WriteLine(o); } } #endregion Console.ReadKey(); #endregion }
static void Main(string[] args) { xml NewXML = new xml(); NewXML = MyDeserializerXml(NewXML, "data.xml"); Console.WriteLine($"provider: {NewXML.provider}"); Console.WriteLine($"account: {NewXML.account}"); Console.WriteLine($"counters:"); foreach (Counter elem in NewXML.counters) { Console.WriteLine($"type: {elem.type}"); Console.WriteLine($"value: {elem.value}"); } Console.WriteLine($"pay_summ: {NewXML.pay_summ}"); switch (NewXML.provider) { case 1: { var gasMeat = new GasMeat() { login = "******", parol = "123456", data = new Data() { schet = NewXML.account, pokazaniya = NewXML.counters[0].value, summa = NewXML.pay_summ } }; DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(GasMeat)); using (FileStream fs = new FileStream("GasMeat.json", FileMode.OpenOrCreate)) { jsonFormatter.WriteObject(fs, gasMeat); } break; } case 2: { var Drain = new Drain() { jsonrpc = "2.0", method = "fpay", Params = new Params() { session = new session() { login = "******", pass = "******" }, data = new data() { account = NewXML.account } }, id = "32303137-3032-3237-3037-3135343423421" }; foreach (Counter elem in NewXML.counters) { var counter = new counters() { type = elem.type, value = elem.value }; Console.WriteLine($"counter {counter.type} {counter.value}"); Drain.Params.data.counters.Add(counter); //у меня здесь ошибка котороую я не знаю как решить } DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(Drain)); using (FileStream fs = new FileStream("Drain.json", FileMode.OpenOrCreate)) { jsonFormatter.WriteObject(fs, Drain); } break; } case 3: { OldCity oldCity = new OldCity() { date = "04.2016", dogovor = "СГ-43234", summa = NewXML.pay_summ }; XmlSerializer serializer = new XmlSerializer(typeof(OldCity)); using (FileStream fs = new FileStream("OldCity.xml", FileMode.OpenOrCreate)) { serializer.Serialize(fs, oldCity); } break; } } }
static void Main(string[] args) { /*БСБО-05-19 * Копейкин Д.С. * 1. Вывести информацию в консоль о логических дисках, именах, метке тома, размере типе файловой системы. * 2. Работа с файлами ( класс File, FileInfo, FileStream и другие) * a) Создать файл * b) Записать в файл строку * c) Прочитать файл в консоль * d) Удалить файл * 3. Работа с форматом JSON * 4. Работа с форматом XML * 5. Создание zip архива, добавление туда файла, определение размера архива * */ Console.Write("Введите номер задания "); while (true) { switch (Console.ReadLine()) { case "1": #region задание 1 #region текст задания //.Вывести информацию в консоль о логических дисках, именах, метке тома, размере типе файловой системы. #endregion DriveInfo[] drives = DriveInfo.GetDrives(); foreach (DriveInfo drive in drives) { Console.WriteLine($"Название: {drive.Name}"); Console.WriteLine($"Тип: {drive.DriveType}"); if (drive.IsReady) { Console.WriteLine($"Объемдиска: {drive.TotalSize}"); Console.WriteLine($"Свободноепространство: {drive.TotalFreeSpace}"); Console.WriteLine($"Метка: {drive.VolumeLabel}"); } Console.ReadKey(); } #endregion break; case "2": #region задание 2 #region текст задания //Работа с файлами(класс File, FileInfo, FileStream и другие) // a) Создать файл // b) Записать в файл строку // c) Прочитать файл в консоль // d) Удалить файл #endregion Console.InputEncoding = Encoding.Unicode; using (var sw = new StreamWriter(@"text.txt", false, Encoding.Unicode)) //не стал создавать аудиторий и помещать туда файл, т.к. не знаю, где их стоит создавать не на своем пк, поэто файл будеи помещен "имя папки проэкта"/bin/debug/text.txt { Console.Write("Введите текст для записи в файл:"); sw.WriteLine(Console.ReadLine()); } using (var sr = new StreamReader(@"text.txt", Encoding.Unicode)) { Console.WriteLine("нажмите клавишу для считывания текста из файла"); Console.ReadKey(); while (!sr.EndOfStream) { Console.WriteLine(sr.ReadLine()); } } Console.WriteLine("Нажмите кнопку для удаления файла"); Console.ReadKey(); File.Delete(@"text.txt"); Console.WriteLine("задание завершено"); #endregion break; case "3": #region задание 3 #region текст задания //Работа с форматом JSON #endregion User user1 = new User { Name = "Bill Gates", Age = 48, Company = "Microsoft" }; //первый пользователь создан автоматически User user2 = new User(); Console.WriteLine("Введите имя второго человека"); user2.Name = Console.ReadLine(); Console.WriteLine("возраст"); user2.Age = int.Parse(Console.ReadLine()); Console.WriteLine("наименование компании"); user2.Company = Console.ReadLine(); List <User> users = new List <User> { user1, user2 }; var json = new DataContractJsonSerializer(typeof(List <User>)); using (var file = new FileStream("users.json", FileMode.Create)) //опять файл будет создан в "имя папки проэкта"/bin/debug/users.json { json.WriteObject(file, users); } using (var file = new FileStream("users.json", FileMode.OpenOrCreate)) { var newUsers = json.ReadObject(file) as List <User>; if (newUsers != null) { foreach (var user in newUsers) { { Console.WriteLine(user); } } } } Console.WriteLine("Нажмите кнопку для удаления файла"); Console.ReadKey(); File.Delete(@"users.json"); Console.WriteLine("задание завершено"); Console.ReadLine(); #endregion break; case "4": #region задание 4 #region текст задания //Работа с форматом XML #endregion User user3 = new User { Name = "Bill Gates", Age = 48, Company = "Microsoft" }; //первый пользователь создан автоматически User user4 = new User(); Console.WriteLine("Введите имя второго человека"); user4.Name = Console.ReadLine(); Console.WriteLine("возраст"); user4.Age = int.Parse(Console.ReadLine()); Console.WriteLine("наименование компании"); user4.Company = Console.ReadLine(); List <User> users2 = new List <User> { user3, user4 }; var xml = new XmlSerializer(typeof(List <User>)); using (var file = new FileStream("users.xml", FileMode.Create)) //опять файл будет создан в "имя папки проэкта"/bin/debug/users.xml { xml.Serialize(file, users2); } Console.WriteLine("для чтения файла нажмите клавишу"); Console.ReadKey(); using (var file = new FileStream("users.xml", FileMode.OpenOrCreate)) { var newUsers = xml.Deserialize(file) as List <User>; if (newUsers != null) { foreach (User user in users2) { { Console.WriteLine(user); } } } } Console.WriteLine("Нажмите кнопку, для удаления файла"); Console.ReadKey(); File.Delete(@"users.xml"); Console.WriteLine("задание завершено"); #endregion break; case "5": #region задание 5 #region текст задания //Создание zip архива, добавление туда файла, определение размера архива #endregion using (var sw = new StreamWriter(@"text2.txt", false, Encoding.Unicode)) //не стал создавать аудиторий и помещать туда файл, т.к. не знаю, где их стоит создавать не на своем пк, поэто файл будеи помещен "имя папки проэкта"/bin/debug/text.txt { sw.WriteLine("asdjdsjgnjdncvubbhxcvnbmcjbnjfdnkfmgksndkfmlsdmf"); } string sourceFile = @"text2.txt"; // исходныйфайл string compressedFile = @"text2.gz"; // сжатыйфайл using (FileStream sourceStream = new FileStream(sourceFile, FileMode.OpenOrCreate)) { using (FileStream targetStream = File.Create(compressedFile)) { using (GZipStream compressionStream = new GZipStream(targetStream, CompressionMode.Compress)) { sourceStream.CopyTo(compressionStream); Console.WriteLine("Сжатиефайла {0} завершено. Исходныйразмер: {1} сжатыйразмер: {2}.", sourceFile, sourceStream.Length.ToString(), targetStream.Length.ToString()); } } } #endregion break; default: Console.WriteLine("неверно указанно задание"); break; } } }
public void Do() { //int log_2 = ((x >> 23) & 255) - 128; //return; double d = 0x0404cb * 2 * Math.Pow(8 * (0x1b - 3), 2); DateTime start = DateTime.Now; for (int i = 0; i < 5; i++) { Block b1 = new Block(new BlockData[] { new BlockData() { message = "wiadomosc1 nr: " + i.ToString() }, new BlockData() { message = "wiadomosc2 nr: " + i.ToString() }, new BlockData() { message = "wiadomosc3 nr: " + i.ToString() }, new BlockData() { message = "wiadomosc4 nr: " + i.ToString() }, new BlockData() { message = "wiadomosc5 nr: " + i.ToString() } }); OpenLedger.Add(b1); } MemoryStream stream1 = new MemoryStream(); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(BlockChain)); ser.WriteObject(stream1, OpenLedger); stream1.Position = 0; StreamReader sr = new StreamReader(stream1); Console.Write("JSON form of Person object: "); Console.WriteLine(sr.ReadToEnd()); bool valed = OpenLedger.Validate(); Console.WriteLine($"ledger is valid : { valed }"); DateTime end = DateTime.Now; Console.WriteLine((end - start).TotalSeconds); Console.ReadKey(); //return; var container = BootStrap.Components(); using (var scope = container.BeginLifetimeScope()) { //bindowanie ISimpleWorker worker = scope.Resolve <ISimpleWorker>(); //container.Resolve<IServerLogger>(); // robienie tasków Task task1 = new Task(() => worker.Do()); //task1.Start(); //task1.Wait(); } }
static void Main(string[] args) { Transport Calcatinge = new Automobil("Calcatinge", "Moldovanin", 0, 100, 5); Transport UAZ = new Automobil("Nissan", "GTR", 228, 2, 240) as Automobil; // ссылка на абстрактный класс Printer car = new Printer(); Transport BelAZ = new Automobil("BELAZ", "POTATO", 1488, 13, 70) as Transport; // ссылка на абстрактный класс Poezd Strela = new Poezd("Strela", "bistraya", 1337, 66, 140); Vagon Dima = new Vagon("Dima", "СВ", 228, 1337, 1488); Transport[] arr = new Transport[5]; arr[0] = Calcatinge; arr[1] = Dima; arr[2] = Strela; arr[3] = BelAZ; arr[4] = UAZ; Container q = new Container(); q.pozhar = new List <Transport>(); q.Add(Calcatinge); q.Add(UAZ); q.Add(BelAZ); Controller cont = new Controller(); BinaryFormatter formatter = new BinaryFormatter(); // получаем поток, куда будем записывать сериализованный объект using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate)) { formatter.Serialize(fs, Calcatinge); Console.WriteLine("Бинарная сериализация:\nОбъект успешно сериализован"); } using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate)) { Transport newTransport = (Transport)formatter.Deserialize(fs); Console.WriteLine("Бинарная десериализация:\nОбъект успешно десериализован"); Console.WriteLine("Имя: {0}\n" + "Цена: {1}\n" + "Pасход топлива: {2}\n" + "Cкорость: {3}\n", newTransport.Name, newTransport.Price, newTransport.Oil, newTransport.Speed); } Console.WriteLine("=================================="); SoapFormatter formatter1 = new SoapFormatter(); // получаем поток, куда будем записывать сериализованный объект using (FileStream fs = new FileStream("people.soap", FileMode.OpenOrCreate)) { formatter.Serialize(fs, Strela); Console.WriteLine("SOAP сериализация:\nОбъект сериализован"); } // десериализация using (FileStream fs = new FileStream("people.soap", FileMode.OpenOrCreate)) { Transport newTransport = (Transport)formatter.Deserialize(fs); Console.WriteLine("SOAP десериализация:\nОбъект успешно десериализован"); Console.WriteLine("Имя: {0}\n" + "Цена: {1}\n" + "Pасход топлива: {2}\n" + "Cкорость: {3}\n", newTransport.Name, newTransport.Price, newTransport.Oil, newTransport.Speed); } Console.WriteLine("=================================="); XmlSerializer formatter2 = new XmlSerializer(typeof(Transport)); using (FileStream fs = new FileStream("persons.xml", FileMode.OpenOrCreate)) { formatter.Serialize(fs, Strela); Console.WriteLine("XML сериализация:\nОбъект сериализован"); } using (FileStream fs = new FileStream("persons.xml", FileMode.OpenOrCreate)) { Transport newTransport = (Transport)formatter.Deserialize(fs); Console.WriteLine("XML десериализация:\nОбъект успешно десериализован"); Console.WriteLine("Имя: {0}\n" + "Цена: {1}\n" + "Pасход топлива: {2}\n" + "Cкорость: {3}\n", newTransport.Name, newTransport.Price, newTransport.Oil, newTransport.Speed); } Console.WriteLine("=================================="); DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(Automobil)); using (FileStream fs = new FileStream("people.json", FileMode.OpenOrCreate)) { jsonFormatter.WriteObject(fs, BelAZ); Console.WriteLine("JSON сериализация:\nОбъект сериализован"); } using (FileStream fs = new FileStream("people.json", FileMode.OpenOrCreate)) { Automobil newpeople = (Automobil)jsonFormatter.ReadObject(fs); Console.WriteLine("JSON десериализация:\nОбъект успешно десериализован"); Console.WriteLine("Имя: {0}\n" + "Цена: {1}\n" + "Pасход топлива: {2}\n" + "Cкорость: {3}\n", newpeople.Name, newpeople.Price, newpeople.Oil, newpeople.Speed); } Console.WriteLine("=================================="); using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate)) { formatter.Serialize(fs, arr); Console.WriteLine("Сериализация массива:\nОбъект успешно сериализован"); } using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate)) { Transport[] newTransport = (Transport[])formatter.Deserialize(fs); Console.WriteLine("Десериализация массива:\nОбъект успешно десериализован"); foreach (Transport p in newTransport) { Console.WriteLine("Имя: {0}\n" + "Цена: {1}\n" + "Pасход топлива: {2}\n" + "Cкорость: {3}\n", p.Name, p.Price, p.Oil, p.Speed); } } Console.WriteLine("Залазим в XML-документ:\n"); XmlDocument xDoc = new XmlDocument(); xDoc.Load("test.xml"); XmlElement xRoot = xDoc.DocumentElement; // выбор всех дочерних узлов XmlNodeList childnodes = xRoot.SelectNodes("*"); foreach (XmlNode n in childnodes) { Console.WriteLine(n.OuterXml); } Console.WriteLine("Link to XML:\n"); XDocument xdoc = XDocument.Load("info.xml"); foreach (XElement phoneElement in xdoc.Element("phones").Elements("phone")) { XAttribute nameAttribute = phoneElement.Attribute("name"); XElement companyElement = phoneElement.Element("company"); XElement priceElement = phoneElement.Element("price"); if (nameAttribute != null && companyElement != null && priceElement != null) { Console.WriteLine("Смартфон: {0}", nameAttribute.Value); Console.WriteLine("Компания: {0}", companyElement.Value); Console.WriteLine("Цена: {0}", priceElement.Value); } Console.WriteLine(); } Console.Read(); }