/// <summary> /// ファイルを Document に読み出す /// </summary> /// <param name="reader"></param> public void Load(StreamReader reader) { var ser = new XmlSerializer(typeof(iEditDocument)); var doc = new iEditDocument(); try { doc = ser.Deserialize(reader) as iEditDocument; reader.Close(); } catch (Exception ex) { MessageBox.Show("読み出しに失敗しました\r\n\r\n<エラー詳細>\r\n" + ex.ToString()); return; } //_root.Clear(); //_root = doc.Nodes; var nodes = new List <Node>(); nodes.Add(_root.Single()); _root.Single().GetAllChildren(nodes); foreach (var node in doc.Nodes) // foreach (var node in nodes) { _elements.Add(node); } foreach (var edge in doc.Edges) { _elements.Add(edge); } }
/// <summary> /// Document をファイルに保存する /// </summary> /// <param name="fs">ファイルストリーム</param> public void Save(Stream fs) { var ser = new XmlSerializer(typeof(iEditDocument)); var doc = new iEditDocument(); doc.Nodes = Nodes.ToList(); //_root; doc.Edges = Edges.ToList(); try { ser.Serialize(fs, doc); fs.Close(); } catch (Exception ex) { MessageBox.Show("書き込みに失敗しました\r\n\r\n<エラー詳細>\r\n" + ex.ToString()); } }