Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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());
            }
        }