Ejemplo n.º 1
0
        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
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();
        }