//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); }
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(); }