/// <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); }
/// <summary> /// 执行操作 /// </summary> /// <param name="key"></param> private void DoOperation(OperationInfo item) { var oper = OperationManager.Get(item.OperationName); DoOperation(oper); }