public static Zadania Czytaj(string ścieżkaPliku) { try { XDocument xml = XDocument.Load(ścieżkaPliku); IEnumerable <Zadanie> dane = from zadanie in xml.Root.Descendants("Zadanie") select new Zadanie( zadanie.Element("Opis").Value, DateTime.Parse(zadanie.Element("DataUtworzenia").Value), DateTime.Parse(zadanie.Element("PlanowanaDataRealizacji").Value), (PriorytetZadania)byte.Parse(zadanie.Element("Priorytet").Value), bool.Parse(zadanie.Element("CzyZrealizowane").Value)); Zadania zadania = new Zadania(); foreach (Zadanie zadanie in dane) { zadania.DodajZadanie(zadanie); } return(zadania); } catch (Exception exc) { throw new Exception("Błąd przy odczycie danych z pliku XML", exc); } }
public static void Zapisz(string ścieżkaPliku, Zadania zadania) //do metody odwołuje się klasa Zadania interfejs Zapisz { if (!string.IsNullOrWhiteSpace(ścieżkaPliku)) //jeśli ścieżka pliku nie jest równa zero, to... { List <string> opisyZadań = new List <string>(); //utworzenie instancji listy foreach (Zadanie zadanie in zadania) { opisyZadań.Add(zadanie.ToString()); } System.IO.File.WriteAllLines(ścieżkaPliku, opisyZadań.ToArray()); } }
//zapis do pliku public static void Zapisz(string ścieżkaPliku, Zadania zadania) { try { XDocument xml = new XDocument(new XDeclaration("1.0", "utf-8", "yes"), new XComment("Data zapisania: " + DateTime.Now.ToString()), new XElement("Zadania", from Zadanie zadanie in zadania select new XElement("Zadanie", new XElement("Opis", zadanie.Opis), new XElement("DataUtworzenia", zadanie.DataUtworzenia), new XElement("PlanowanaDataRealizacji", zadanie.PlanowanyTerminRealizacji. ToString()), new XElement("Priorytet", (byte)zadanie.Priorytet), new XElement("CzyZrealizowane", zadanie.CzyZrealizowane.ToString())))); xml.Save(ścieżkaPliku); } catch (Exception exc) { throw new Exception("Błąd przy zapisie danych do pliku XML", exc); } }