<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="IpList">
<section name="Ip" type="ConsoleApplication1.MyConfigHandler,ConsoleApplication1"/>
</sectionGroup>
<sectionGroup name="UrlList">
<section name="Url" type="ConsoleApplication1.MyConfigHandler,ConsoleApplication1"/>
</sectionGroup>
</configSections>
<IpList>
<Ip>
<add key="1" value="10.112.215.122" />
</Ip>
</IpList>
<UrlList>
<Url>
<add key="1" value="http://{0}:8080/Api/CooperationPlatform/ClearWebCache" />
<add key="2" value="http://{0}:8180/Api/CooperationPlatform/ClearWebCache" />
</Url>
</UrlList>
</configuration>
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Configuration;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public class MyConfigHandler : IConfigurationSectionHandler
{
public MyConfigHandler()
{
}
public object Create(object parent, object configContext, System.Xml.XmlNode section)
{
NameValueCollection configs;
NameValueSectionHandler baseHandler = new NameValueSectionHandler();
configs = (NameValueCollection)baseHandler.Create(parent, configContext, section);
return configs;
}
}
}
static void Main(string[] args)
{
var ips = ((NameValueCollection)ConfigurationManager.GetSection("IpList/Ip"));
foreach (var ip in ips.AllKeys)
{
Console.WriteLine(ips[ip]);
}
var urls = ((NameValueCollection)ConfigurationManager.GetSection("UrlList/Url"));
//string myWebSiteName = ((NameValueCollection)ConfigurationManager.GetSection("UrlList/Url"))["Url"];
foreach (var url in urls.AllKeys)
{
Console.WriteLine(urls[url]);
}
}