DOTNETIDS.Storage.Storage C# (CSharp) Method

Storage() private method

Load Filters from an XML document
private Storage ( XmlDocument XMLSource, Type FilterType ) : System
XMLSource System.Xml.XmlDocument An XMLDocument
FilterType System.Type The type of Filter to output
return System
        internal Storage(XmlDocument XMLSource, Type FilterType)
            : base()
        {
            XmlNode xmlNode = XMLSource.DocumentElement;

            XmlNodeList nodeList = xmlNode.SelectNodes("/filters/filter");

            foreach (XmlNode filter in nodeList)
            {
                object[] paramlist = new object[4];
                
                foreach (XmlNode child in filter)
                {
                    switch (child.Name)
                    {
                        case "rule":
                            paramlist[0] = child.InnerText;
                            break;
                        case "description":
                            paramlist[3] = child.InnerText;
                            break;
                        case "tags":
                            List<string> tags = new List<String>();

                            foreach (XmlNode tag in child)
                            {
                                tags.Add(tag.InnerText);
                            }

                            paramlist[1] = tags;
                            break;
                        case "impact":
                            paramlist[2] = int.Parse(child.InnerText);
                            break;
                    }

                }

                Filter filterToAdd = (Filter)Activator.CreateInstance(FilterType, paramlist);

                base.AddFilter(filterToAdd);
            }

        }
        #endregion
Storage