Advertisement
EndymionSpr

Untitled

Mar 24th, 2021
876
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.63 KB | None | 0 0
  1. //-----Program.cs
  2.  
  3. using System;
  4. using System.Xml.Linq;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7.  
  8. namespace ConsoleApp1
  9. {
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             List<klasaAsortyment> listaPrzedmiotow = new List<klasaAsortyment>();
  15.             listaPrzedmiotow.Add(new klasaAsortyment("Młotek", "1", "Narzędzie", false));
  16.             listaPrzedmiotow.Add(new klasaAsortyment("Łopata", "2", "Narzędzie", true));
  17.             listaPrzedmiotow.Add(new klasaAsortyment("Zapałki", "3", "Inne", true));
  18.             listaPrzedmiotow.Add(new klasaAsortyment("Doniczka", "4", "Dekoracja", true));
  19.             listaPrzedmiotow.Add(new klasaAsortyment("Kilof", "5", "Narzędzie", false));
  20.             listaPrzedmiotow.Add(new klasaAsortyment("Toporek", "6", "Narzędzie", true));
  21.             listaPrzedmiotow.Add(new klasaAsortyment("Śrubokręt", "7", "Narzędzie", true));
  22.             listaPrzedmiotow.Add(new klasaAsortyment("Piła mechaniczna", "8", "Narzędzie", true));
  23.             listaPrzedmiotow.Add(new klasaAsortyment("Paczka Gwoździ", "9", "Inne", false));
  24.             listaPrzedmiotow.Add(new klasaAsortyment("Motyka", "10", "Narzędzie", true));
  25.             listaPrzedmiotow.Add(new klasaAsortyment("Piła Ręczna", "11", "Narzędzie", true));
  26.             listaPrzedmiotow.Add(new klasaAsortyment("Palma", "12", "Dekoracja", true));
  27.  
  28.             XDocument xml = new XDocument(
  29.                             new XDeclaration("1.0", "utf-8", "yes"),
  30.                             new XComment("Asortyment w sklepie"),
  31.                             new XElement("Przedmioty",
  32.                                 from przedmiot in listaPrzedmiotow
  33.                                 orderby przedmiot.Nazwa, przedmiot.Id
  34.                                 select new XElement("przedmiot",
  35.                                     new XAttribute("id", przedmiot.Id),
  36.                                     new XElement("nazwa", przedmiot.Nazwa),
  37.                                     new XElement("rodzaj", przedmiot.Rodzaj),
  38.                                     new XElement("dostepny", przedmiot.Dostepny))));
  39.             xml.Save("Przedmioty.xml");
  40.         }
  41.     }
  42. }
  43. //-----klasaAsortyment.cs
  44.  
  45. using System;
  46. using System.Collections.Generic;
  47. using System.Text;
  48.  
  49.  
  50. namespace ConsoleApp1
  51. {
  52.     class klasaAsortyment
  53.     {
  54.         public string Nazwa { get; set; }
  55.         public string Id { get; set; }
  56.         public string Rodzaj { get; set; }
  57.         public bool Dostepny { get; set; }
  58.  
  59.         public klasaAsortyment(string nazwa, string id, string rodzaj, bool dostepny)
  60.         {
  61.             Nazwa = nazwa;
  62.             Id = id;
  63.             Rodzaj = rodzaj;
  64.             Dostepny = dostepny;
  65.  
  66.         }
  67.     }
  68. }
  69. //----- Powstały xml
  70.  
  71. <?xml version="1.0" encoding="utf-8" standalone="yes"?>
  72. <!--Asortyment w sklepie-->
  73. <Przedmioty>
  74.   <przedmiot id="4">
  75.     <nazwa>Doniczka</nazwa>
  76.     <rodzaj>Dekoracja</rodzaj>
  77.     <dostepny>true</dostepny>
  78.   </przedmiot>
  79.   <przedmiot id="5">
  80.     <nazwa>Kilof</nazwa>
  81.     <rodzaj>Narzędzie</rodzaj>
  82.     <dostepny>false</dostepny>
  83.   </przedmiot>
  84.   <przedmiot id="2">
  85.     <nazwa>Łopata</nazwa>
  86.     <rodzaj>Narzędzie</rodzaj>
  87.     <dostepny>true</dostepny>
  88.   </przedmiot>
  89.   <przedmiot id="1">
  90.     <nazwa>Młotek</nazwa>
  91.     <rodzaj>Narzędzie</rodzaj>
  92.     <dostepny>false</dostepny>
  93.   </przedmiot>
  94.   <przedmiot id="10">
  95.     <nazwa>Motyka</nazwa>
  96.     <rodzaj>Narzędzie</rodzaj>
  97.     <dostepny>true</dostepny>
  98.   </przedmiot>
  99.   <przedmiot id="9">
  100.     <nazwa>Paczka Gwoździ</nazwa>
  101.     <rodzaj>Inne</rodzaj>
  102.     <dostepny>false</dostepny>
  103.   </przedmiot>
  104.   <przedmiot id="12">
  105.     <nazwa>Palma</nazwa>
  106.     <rodzaj>Dekoracja</rodzaj>
  107.     <dostepny>true</dostepny>
  108.   </przedmiot>
  109.   <przedmiot id="8">
  110.     <nazwa>Piła mechaniczna</nazwa>
  111.     <rodzaj>Narzędzie</rodzaj>
  112.     <dostepny>true</dostepny>
  113.   </przedmiot>
  114.   <przedmiot id="11">
  115.     <nazwa>Piła Ręczna</nazwa>
  116.     <rodzaj>Narzędzie</rodzaj>
  117.     <dostepny>true</dostepny>
  118.   </przedmiot>
  119.   <przedmiot id="7">
  120.     <nazwa>Śrubokręt</nazwa>
  121.     <rodzaj>Narzędzie</rodzaj>
  122.     <dostepny>true</dostepny>
  123.   </przedmiot>
  124.   <przedmiot id="6">
  125.     <nazwa>Toporek</nazwa>
  126.     <rodzaj>Narzędzie</rodzaj>
  127.     <dostepny>true</dostepny>
  128.   </przedmiot>
  129.   <przedmiot id="3">
  130.     <nazwa>Zapałki</nazwa>
  131.     <rodzaj>Inne</rodzaj>
  132.     <dostepny>true</dostepny>
  133.   </przedmiot>
  134. </Przedmioty>
  135.  
  136. //----- Otwiera plik, tworzy kolekcje i wypisuje ją na ekran
  137.  
  138. using System;
  139. using System.Xml.Linq;
  140. using System.Collections.Generic;
  141. using System.Linq;
  142.  
  143. namespace ConsoleApp1
  144. {
  145.     class Program
  146.     {
  147.         static void Main(string[] args)
  148.         {
  149.             XDocument xml = XDocument.Load("Przedmioty.xml");
  150.            
  151.             List<klasaAsortyment> listaPrzedmiotow = (
  152.                 from przedmiot in xml.Root.Elements("przedmiot")
  153.                 select new klasaAsortyment(
  154.                     przedmiot.Element("nazwa").Value,
  155.                     przedmiot.Attribute("id").Value,
  156.                      
  157.                     przedmiot.Element("rodzaj").Value,
  158.                     bool.Parse(przedmiot.Element("dostepny").Value)
  159.                     )
  160.                 ).ToList<klasaAsortyment>();
  161.  
  162.             foreach(var przed in listaPrzedmiotow)
  163.             {
  164.                 Console.WriteLine("Nazwa: {0} \n Id: {1} \n Rodzaj: {2} \n Dostępny: {3}",przed.Nazwa, przed.Id, przed.Rodzaj, przed.Dostepny);
  165.             }
  166.         }
  167.     }
  168. }
  169. //-----
  170. /* Zmiana w pliku była dokonana przy pomocy Notepad++ "ctrl + f" repalce. Wstawiłem na początek każdego 'id' ciąg znaków '11'. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement