This repository has been archived on 2022-09-30. You can view files and clone it, but cannot push or open issues or pull requests.
bookmark-manager/SessionFileFormat.cs

93 lines
3.2 KiB
C#

using System.Xml;
using System.Windows.Forms;
namespace bzit.bomg
{
public class SessionFileFormat : RyzStudio.IO.SessionFileFormatBase
{
private MainForm parentForm = null;
public SessionFileFormat(MainForm parent_form)
{
base.CONST_PRODUCT = "bomg";
base.CONST_STREAM_FILE_NAME = "bookmarks.xml";
base.CONST_KEYPASS = "";
base.enableErrorReporting = true;
parentForm = parent_form;
}
protected override void loadFromXmlDocument(ref XmlDocument xml_doc)
{
XmlNodeList xnl = xml_doc.SelectNodes("bomg/b/g");
if (xnl.Count <= 0)
{
MessageBox.Show("No bookmarks found.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
parentForm.treeView1.Clear();
TreeNode tn = parentForm.treeView1.Nodes.Add("", xnl.Item(0).Attributes["name"].InnerText, 0, 0);
foreach (XmlNode xn in xnl.Item(0))
{
BookmarkItem bi = new BookmarkItem();
foreach (XmlNode xn2 in xn.ChildNodes)
{
switch (xn2.LocalName)
{
case "name":
bi.Fullpath = xn2.InnerText?.Trim();
break;
case "address":
bi.SiteAddress = xn2.InnerText?.Trim();
break;
case "description":
bi.Description = xn2.InnerText?.Trim();
break;
case "created":
bi.Created = xn2.InnerText?.Trim();
break;
default: break;
}
}
//##parentForm.treeView1.AddBookmarkItem(bi.Fullpath, bi);
}
tn.Expand();
}
protected override void saveToXmlTextWriter(ref XmlTextWriter writer)
{
//if (parentForm.treeView1.Nodes.Count <= 0)
//{
// return;
//}
//writer.Formatting = Formatting.Indented;
//writer.WriteStartDocument();
//writer.WriteStartElement(CONST_PRODUCT);
//writer.WriteStartElement("b");
//writer.WriteStartElement("g");
//writer.WriteAttributeString("name", parentForm.treeView1.Nodes[0].Text);
//foreach (TreeNode tn in parentForm.treeView1.NodeList)
//{
// BookmarkItem bi = (BookmarkItem)tn.Tag;
// writer.WriteStartElement("m");
// writer.WriteElementString("name", parentForm.treeView1.GetNodeFullPath(tn));
// writer.WriteElementString("address", bi.SiteAddress);
// writer.WriteElementString("description", bi.Description);
// writer.WriteElementString("created", bi.Created.ToString());
// writer.WriteEndElement();
//}
//writer.WriteEndElement();
//writer.WriteEndElement();
//writer.WriteEndElement();
//writer.WriteEndDocument();
}
}
}