- XmlDocument doc = new XmlDocument ();
- XmlTextReader reader = new XmlTextReader (stream);
- int len = nodes.Length;
+ public bool Load (XmlDocument doc, MSymbol key, MSymbol stop)
+ {
+ if (Info.Format != Mxml)
+ throw new Exception ("Not an XML database");
+ XmlTextReader reader = get_reader (doc);
+ if (reader == null)
+ return false;
+ try {
+ reader.Read ();
+ while (reader.NodeType != XmlNodeType.Element)
+ reader.Read ();
+ doc.LoadXml ("<" + reader.Name + "></" + reader.Name + ">");
+ reader.Read ();
+ XmlNode node = doc.DocumentElement;
+ while (reader.NodeType == XmlNodeType.Element
+ ? reader.Name != stop.Name
+ : reader.NodeType != XmlNodeType.EndElement)
+ if (reader.NodeType == XmlNodeType.Element
+ && reader.Name == key.Name)
+ node = doc.DocumentElement.InsertAfter (doc.ReadNode (reader),
+ node);
+ return true;
+ } catch (Exception e) {
+ Console.WriteLine (e);
+ return false;
+ } finally {
+ reader.Close ();
+ }
+ }