public void load(string fileName) { XmlDocument xmlDocument = new XmlDocument(); try { xmlDocument.Load(fileName); } catch (System.IO.FileNotFoundException ee) { System.Console.WriteLine(ee.Message); XmlNode root = xmlDocument.CreateNode("element", "Calllog", ""); xmlDocument.AppendChild(root); } catch (System.Xml.XmlException e) { System.Console.WriteLine(e.Message); } XmlNodeList list = xmlDocument.SelectNodes("/Calllog/Record"); // create list _callList = new Stack <CCallRecord>(); foreach (XmlNode item in list) { CCallRecord record = new CCallRecord(); XmlNode snode = item.SelectSingleNode(NAME); if ((snode != null) && (null != snode.FirstChild) && (snode.FirstChild.Value != null)) { record.Name = snode.FirstChild.Value; } snode = item.SelectSingleNode(NUMBER); if ((snode != null) && (null != snode.FirstChild) && (snode.FirstChild.Value != null)) { record.Number = snode.FirstChild.Value; } else { continue; } snode = item.SelectSingleNode(DATETIME); if ((snode != null) && (null != snode.FirstChild) && (snode.FirstChild.Value != null)) { record.Time = DateTime.Parse(snode.FirstChild.Value); } snode = item.SelectSingleNode(DURATION); if ((snode != null) && (null != snode.FirstChild) && (snode.FirstChild.Value != null)) { record.Duration = TimeSpan.Parse(snode.FirstChild.Value); } snode = item.SelectSingleNode(COUNT); if ((snode != null) && (null != snode.FirstChild) && (snode.FirstChild.Value != null)) { record.Count = int.Parse(snode.FirstChild.Value); } snode = item.SelectSingleNode(TYPE); if ((snode != null) && (null != snode.FirstChild) && (snode.FirstChild.Value != null)) { record.Type = (ECallType)int.Parse(snode.FirstChild.Value); } _callList.Push(record); } }
public void deleteRecord(CCallRecord record) { this.deleteRecord(record.Number, record.Type); }