using System; using System.Collections.Generic; using System.Text; using System.Xml; namespace FrostDiary.Data { class DiaryXMLReader { private string _entryNumber; private string _title; private string _date; private string _time; private string _userEntry; public string EntryNumber { get { return _entryNumber; } } public string Title { get { return _title; } } public string Date { get { return _date; } } public string Time { get { return _time; } } public string UserEntry { get { return _userEntry; } } internal void Entry(XmlNode entryNode) { XmlNode selected; selected = entryNode.SelectSingleNode("EntryNumber"); if (selected != null) _entryNumber = selected.InnerText; selected = entryNode.SelectSingleNode("Title"); if (selected != null) _title = selected.InnerText; selected = entryNode.SelectSingleNode("Date"); if (selected != null) _date = selected.InnerText; selected = entryNode.SelectSingleNode("Time"); if (selected != null) _time = selected.InnerText; selected = entryNode.SelectSingleNode("UserEntry"); if (selected != null) _userEntry = selected.InnerText; } } } using FrostDiary.Data; using System; using System.Collections.Generic; using System.Text; using System.Xml; using System.IO; namespace FrostDiary { class DiaryTreeView { private List entries; public IList Entries { get { return entries.AsReadOnly(); } } private DiaryTreeView(XmlNode diaryNode) { entries = new List(); XmlNodeList entryNodes = diaryNode.SelectNodes("Entry"); foreach (XmlNode entryNode in entryNodes) { entries.Add(new DiaryXMLReader(entryNode)); } } public static DiaryTreeView FromUri(string uri) { XmlDocument xDoc = new XmlDocument(); xDoc.Load(uri); return new DiaryTreeView(xDoc); } } }