static void Main(string[] args) { Console.Title = "Домашнее Задание - Латыпов Альфар"; List <HabrNews> habrNews = new List <HabrNews>(); XmlDocument doc1 = new XmlDocument(); doc1.Load("https://habrahabr.ru/rss/interesting/"); var rootElement = doc1.DocumentElement; //vozvrashaet root element // rootElement nazuvaetsya RSS foreach (XmlNode item in rootElement.ChildNodes) { Console.WriteLine(item.Name); foreach (XmlNode ch in item.ChildNodes) { Console.Write("--> "); Console.WriteLine(ch.Name); if (ch.Name == "item") { HabrNews hNews = new HabrNews(); foreach (XmlNode news in ch.ChildNodes) { if (news.Name == "title") { hNews.title = news.InnerText; } else if (news.Name == "link") { hNews.lint = news.InnerText; } habrNews.Add(hNews); Console.Write("----------> "); Console.WriteLine(news.Name); Console.WriteLine(news.InnerText); //dostali text } } } } foreach (var item in habrNews) { Console.WriteLine(item.title); Console.WriteLine(item.lint); Console.WriteLine(""); } /* 2. На основании задания 1, сериализовать лист полученных объектов в XML и записать в файл.*/ Directory.CreateDirectory(@"C:\SiteContent\"); //sozdal papku FileInfo fi = new FileInfo(@"C:\SiteContent\TextContent.txt"); //открыли поток FileStream fstr = fi.Create(); //создайте файл TextContent.txt fstr.Close(); StreamWriter sw = new StreamWriter(@"C:\SiteContent\TextContent.txt"); foreach (var item in habrNews) { //запишите следующий текст sw.Write(item.title); sw.Write(item.lint); sw.Write(item.Description); sw.Write(item.PubDate); sw.WriteLine("\n"); } sw.Close(); // КОНЕЦ ДОМАШНЕЙ РАБОТЫ //------------------------------------------------------------------------------------------------// return; //это основа создания документа XmlDocument doc = new XmlDocument(); // sozdaem XmlElement root = doc.CreateElement("User"); //XmlDocument generirut elementu XmlElement name = doc.CreateElement("Name"); name.InnerText = "Alfar"; root.AppendChild(name); doc.AppendChild(root); doc.Save("UserAlfar.xml"); //-----------------------------------// //1 XmlAttribute atr = doc.CreateAttribute("IIN"); atr.InnerText = "123456789789"; name.Attributes.Append(atr); //2 //name.SetAttribute("IIN", "123456789789"); root.AppendChild(name); doc.Save("UserAlfar.xml"); //-----------------------------------// //SCHITAT }
static void Main(string[] args) { //XmlDocument doc = new XmlDocument(); //XmlElement root = doc.CreateElement("User"); //XmlElement name = doc.CreateElement("Name"); //name.InnerText = "Alex"; //XmlAttribute atr = doc.CreateAttribute("IIin"); //atr.InnerText = "5675657656757"; ////1 //name.Attributes.Append(atr); //// orr 2 ////name.SetAttribute("Iin", "5675657656757"); //root.AppendChild(name); //doc.AppendChild(root); //doc.Save("UserAlex.xml"); /*1. Прочитать содержимое XML файла со списком последних новостей по ссылке https://habrahabr.ru/rss/interesting/ * Создать класс Item со свойствами: Title, Link, Description, PubDate. * Создать коллекцию типа List<Item> и записать в нее данные из файла. * 2. На основании задания 1, сериализовать лист полученных объектов в XML и записать в файл. */ List <HabrNews> habr = new List <HabrNews>(); XmlDocument doc = new XmlDocument(); doc.Load("https://habrahabr.ru/rss/interesting/"); var rootElement = doc.DocumentElement; foreach (XmlNode item in rootElement.ChildNodes) { Console.WriteLine(">" + item.Name); foreach (XmlNode ch in item.ChildNodes) { Console.WriteLine("->" + ch.Name); if (ch.Name == "item") { HabrNews hn = new HabrNews(); foreach (XmlNode i in ch.ChildNodes) { if (i.Name == "title") { hn.title = i.InnerText; } else if (i.Name == "link") { hn.Link = i.InnerText; } else if (i.Name == "description") { hn.Description = i.InnerText; } else if (i.Name == "pubDate") { hn.PubDate = DateTime.Parse(i.InnerText); } // Console.WriteLine("--->" + i.Name); // Console.WriteLine("------>" + i.InnerText); } habr.Add(hn); } } } Console.WriteLine(); Console.WriteLine(); foreach (var item in habr) { Console.WriteLine(item.title); Console.WriteLine(item.Link); Console.WriteLine(""); } Directory.CreateDirectory(@"C:\ListDir\"); FileInfo fi = new FileInfo(@"C:\ListDir\List.txt"); FileStream fst = fi.Create(); fst.Close(); StreamWriter sw = new StreamWriter(@"C:\ListDir\List.txt"); foreach (var item in habr) { sw.Write(item.title); sw.Write(item.Link); sw.Write(item.Description); sw.Write(item.PubDate); sw.WriteLine("\n"); } sw.Close(); }
static void Main(string[] args) { #region XML //XmlDocument doc = new XmlDocument(); //XmlElement root = doc.CreateElement("User"); //XmlElement name = doc.CreateElement("Name"); //name.InnerText = "Sergey"; ////1 //XmlAttribute atr = doc.CreateAttribute("IIN"); //atr.InnerText = "868888888888"; //name.Attributes.Append(atr); ////2 ////name.SetAttribute("IIN", "868888888888"); //root.AppendChild(name); //doc.AppendChild(root); //doc.Save("UserSergey.xml"); #endregion List <HabrNews> habrNews = new List <HabrNews>(); XmlDocument doc = new XmlDocument(); doc.Load("https://habrahabr.ru/rss/interesting/"); var rootElement = doc.DocumentElement; foreach (XmlNode item in rootElement.ChildNodes) { Console.WriteLine(item.Name); foreach (XmlNode ch in item.ChildNodes) { Console.WriteLine(ch.Name); if (ch.Name == "item") { HabrNews hNews = new HabrNews(); foreach (XmlNode x in ch.ChildNodes) { if (x.Name == "title") { hNews.Title = x.InnerText; } else if (x.Name == "Link") { hNews.Link = x.InnerText; } else if (x.Name == "Description") { hNews.Description = x.InnerText; } else if (x.Name == "PubDate") { hNews.PubDate = DateTime.Parse(x.InnerText); } Console.WriteLine("-->" + x.Name); Console.WriteLine("-->" + x.InnerText); } habrNews.Add(hNews); } } } foreach (var item in habrNews) { Console.WriteLine(item.Title); Console.WriteLine(item.Link); Console.WriteLine(""); } Directory.CreateDirectory(@"C:\Site\"); FileInfo fi = new FileInfo(@"C:\Site\Text.txt"); FileStream fs = fi.Create(); fs.Close(); StreamWriter sw = new StreamWriter(@"C:\Site\Text.txt"); foreach (var item in habrNews) { sw.Write(item.Title); sw.Write(item.Link); sw.Write(item.Description); sw.Write(item.PubDate); sw.WriteLine(" "); } sw.Close(); }