public void Serialize() { bookmarks bm = new bookmarks(); List <bookmarksBookmark> abm = new List <bookmarksBookmark>(); foreach (Bookmark bookmark in allBookmarks.Values) { abm.Add( new bookmarksBookmark() { name = bookmark.Name, url = bookmark.Url, ie = bookmark.IE, ieSpecified = true, chrome = bookmark.Chrome, chromeSpecified = true, firefox = bookmark.Firefox, firefoxSpecified = true }); } bm.bookmark = abm.ToArray(); try { using (FileStream stream = new FileStream(xmlFile, FileMode.Create)) { serializer.Serialize(stream, bm); } } catch (System.UnauthorizedAccessException) { MessageBox.Show("bookmarkList.xml cannot be edited. Change will not be saved."); } }
internal void Deserialize() { bookmarks bookmarks = null; bookmarksBookmark[] bookmarkList; using (FileStream stream = new FileStream(xmlFile, FileMode.Open)) { bookmarks = (bookmarks)serializer.Deserialize(stream); } bookmarkList = bookmarks.bookmark; foreach (bookmarksBookmark bookmark in bookmarkList) { allBookmarks[bookmark.name] = BuildBoomark( bookmark.name, bookmark.url, (bookmark.ie || !bookmark.ieSpecified) && ieBookmarkHandler != null ? true : false, (bookmark.chrome || !bookmark.chromeSpecified) && chromeBookmarkHandler != null ? true : false, (bookmark.firefox || !bookmark.firefoxSpecified) && firefoxBookmarkHandler != null ? true : false); } }