コード例 #1
0
        /// <summary>
        /// Сохранить прект в узел Xml
        /// </summary>
        /// <param name="doc">докумен для которого осуществляется сохранение проекта</param>
        /// <returns></returns>
        public void DeserializeFromXmlNode(XmlNode root)
        {
            try
            {
                if (root != null)
                {
                    if (root.Name == ProjectRootName)
                    {
                        if (root.HasChildNodes)
                        {
                            foreach (XmlNode child in root.ChildNodes)
                            {
                                switch (child.Name)
                                {
                                case "place":

                                    try
                                    {
                                        place = child.InnerText;
                                    }
                                    catch { }
                                    break;

                                case "bush":

                                    try
                                    {
                                        bush = child.InnerText;
                                    }
                                    catch { }
                                    break;

                                case "well":

                                    try
                                    {
                                        well = child.InnerText;
                                    }
                                    catch { }
                                    break;

                                case "job":

                                    try
                                    {
                                        job = child.InnerText;
                                    }
                                    catch { }
                                    break;

                                case "created":

                                    try
                                    {
                                        created = DateTime.Parse(child.InnerText);
                                    }
                                    catch { }
                                    break;

                                case "worked":

                                    try
                                    {
                                        worked = DateTime.Parse(child.InnerText);
                                    }
                                    catch { }
                                    break;

                                case "db_name":

                                    try
                                    {
                                        db_name = child.InnerText;
                                    }
                                    catch { }
                                    break;

                                case "actived":

                                    try
                                    {
                                        actived = bool.Parse(child.InnerText);
                                    }
                                    catch { }
                                    break;

                                case "dir":

                                    try
                                    {
                                        dir = child.InnerText;
                                    }
                                    catch { }
                                    break;

                                case "stages":

                                    try
                                    {
                                        if (child.HasChildNodes)
                                        {
                                            foreach (XmlNode s_child in child.ChildNodes)
                                            {
                                                if (s_child.Name == ProjectStage.StageRootName)
                                                {
                                                    ProjectStage stage = new ProjectStage();
                                                    stage.DeserializeFromXmlNode(s_child);

                                                    stages.Add(stage);
                                                }
                                            }
                                        }
                                    }
                                    catch { }
                                    break;

                                default:
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            catch { }
        }