using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Xml.Linq; using System.Xml.Serialization; namespace SafeMobileLib.Helpers { public static class SerializationHelper { public static void Serialize(this List list, string fileName) { var serializer = new XmlSerializer(typeof(List)); using (var stream = File.OpenWrite(fileName)) { serializer.Serialize(stream, list); } } public static void Deserialize(this List list, string fileName) { var serializer = new XmlSerializer(typeof(List)); using (var stream = File.OpenRead(fileName)) { var other = (List)(serializer.Deserialize(stream)); list.Clear(); list.AddRange(other); } } public static List DesirializeWithLinq(string path) { XElement root = XElement.Load(path); var numbers = root.Descendants("gps") .Select(x => x.Value).ToList(); return numbers; } public static void SerializeWithLinq(List lst, string path) { string name = "gps"; XElement root = new XElement("gps"); int cnt = 0; foreach (var item in lst) { root.Add(new XElement(name, item.ToString())); cnt++; } root.Save(path); } } }