Example #1
0
        //section为MailServerGroup节点

        public object Create(object parent, object configContext, System.Xml.XmlNode section)
        {
            //设置方法返回配置对象,可以是任何类型
            MailServerConfig config = new MailServerConfig();

            //获取节点的属性信息
            config.Provider = section.Attributes["provider"] == null ? "" : section.Attributes["provider"].Value;

            //获取MailServer节点
            foreach (System.Xml.XmlNode child in section.ChildNodes)
            {
                MailServer server = new MailServer();
                //添加Client属性
                if (child.Attributes["client"] != null)
                {
                    server.Client = child.Attributes["client"] == null ? "" : child.Attributes["client"].Value;
                }

                //获取MailServer下的Name,username,password节点
                foreach (System.Xml.XmlNode grandChild in child.ChildNodes)
                {
                    //添加文本
                    server.ServerNode.Add(grandChild.Name, grandChild.InnerText);
                }

                //将server加入MailServerConfig
                config.Add(server);
            }

            return(config);
        }
Example #2
0
        static void Main(string[] args)
        {
            MailServerConfig mailServerConfig = (MailServerConfig)ConfigurationManager.GetSection("mailServerGroup");

            //读取节点值
            mailServerConfig.ForEach(m =>
            {
                Console.WriteLine(m.Client + ";              " + m.Address + ";   " + m.UserName + ";    " + m.PassWord);
            });

            ////读取人名
            //NameValueCollection nvc = (NameValueCollection)ConfigurationManager.GetSection("Person");
            //foreach (string key in nvc.AllKeys)
            //{
            //    Console.WriteLine(key + ":" + nvc[key]);
            //}

            ////读取男人
            //IDictionary dict = (IDictionary)ConfigurationManager.GetSection("Man");
            //foreach (string key in dict.Keys)
            //{
            //    Console.WriteLine(key + ":" + dict[key]);
            //}

            //IDictionary dict1 = (IDictionary)ConfigurationManager.GetSection("Name");
            //foreach (string key in dict1.Keys)
            //{
            //    Console.WriteLine(key + ":" + dict1[key]);
            //}

            Console.ReadKey();
        }