Esempio n. 1
0
        /// <summary>
        /// 解析XML字符串
        /// </summary>
        /// <param name="xml"></param>
        /// <returns></returns>
        public static GofTask ParseXml(string xml)
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlElement e    = doc.DocumentElement;
            GofTask    task = new GofTask();

            task.Id             = int.Parse(e.SelectSingleNode("./Id").InnerText);
            task.Name           = e.SelectSingleNode("./Name").InnerText;
            task.OperationInfos = new List <OperationInfo>();
            XmlNodeList list = e.SelectNodes("./OperationInfos/OperationInfo");

            foreach (XmlNode item in list)
            {
                OperationInfo OperationInfo = new Geo.OperationInfo
                {
                    Name          = item.SelectSingleNode("./Name").InnerText,
                    OperationName = item.SelectSingleNode("./OperationName").InnerText,
                    DependsString = item.SelectSingleNode("./DependsString").InnerText,
                    ParamFilePath = item.SelectSingleNode("./ParamFilePath").InnerText,
                };
                task.OperationInfos.Add(OperationInfo);
            }


            XmlNodeList paramlist = e.SelectNodes("./Params/Param");

            foreach (XmlNode item in paramlist)
            {
                var name    = item.SelectSingleNode("./Name").InnerText;
                var content = item.SelectSingleNode("./Content").InnerText;

                task.Params.Add(name, content);
            }


            return(task);
        }
Esempio n. 2
0
        /// <summary>
        /// 执行操作
        /// </summary>
        /// <param name="key"></param>
        private void DoOperation(OperationInfo item)
        {
            var oper = OperationManager.Get(item.OperationName);

            DoOperation(oper);
        }