示例#1
0
        private static GenericElement GetElementFromXML(string xmlAction)
        {
            GenericElement element = new GenericElement();

            if (!string.IsNullOrEmpty(arguments.DebugFilePath))
            {
                Logger.Write("Get Element from : " + xmlAction);
            }

            XmlReader reader = XmlReader.Create(new StringReader(xmlAction));

            if (!reader.ReadToFollowing("ElementType"))
            {
                throw new Exception();
            }
            string elementType = reader.ReadString();

            switch (elementType)
            {
            case "CustomUpdateElements.VariableElement":
                element = new VariableElement(xmlAction);
                break;

            case "CustomUpdateElements.ExecutableElement":
                element = new ExecutableElement(xmlAction);
                break;

            case "CustomUpdateElements.RegistryElement":
                element = new RegistryElement(xmlAction);
                break;

            case "CustomUpdateElements.RegistryKeyElement":
                element = new RegistryKeyElement(xmlAction);
                break;

            case "CustomUpdateElements.ReturnCodeElement":
                element = new ReturnCodeElement(xmlAction);
                break;

            case "CustomUpdateElements.ServiceElement":
                element = new ServiceElement(xmlAction);
                break;

            case "CustomUpdateElements.ScriptElement":
                element = new ScriptElement(xmlAction);
                break;

            case "CustomUpdateElements.PowerManagementElement":
                element = new PowerManagementElement(xmlAction);
                break;

            case "CustomUpdateElements.WaitElement":
                element = new WaitElement(xmlAction);
                break;

            case "CustomUpdateElements.KillProcessElement":
                element = new KillProcessElement(xmlAction);
                break;

            case "CustomUpdateElements.TextFileElement":
                element = new TextFileElement(xmlAction);
                break;

            case "CustomUpdateElements.FolderElement":
                element = new FolderElement(xmlAction);
                break;

            case "CustomUpdateElements.FileElement":
                element = new FileElement(xmlAction);
                break;

            default:
                break;
            }

            return(element);
        }