在.net中,因為對不同的節點,都對應著類去對它進行處理,。net裡面為了方便,已經內建了一些類供我們使用,使我們在讀取設定檔時,不必自己去定義類去處理自己定義的自訂節點。
下面我們寫了這樣一個設定檔:
<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <!--使用IgnoreSection處理自訂節點--> <!--<section name="mailServeraddress" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false " restartOnExternalChanges="true"/>--> <section name="mailServeraddress" type="System.Configuration.SingleTagSectionHandler" /> <!--注意,指定處理常式的設定檔要寫在自訂設定檔的前面--> </configSections> <mailServeraddress address="mail.tracefact.net" username="lhc" password="124324"/> </configuration>
節點名稱為:mailServeraddress,有三個屬性,在section裡定義了SingleTagSectionHandler來處理這個節點。
namespace 自訂節點和內建處理常式{ class Program { static void Main(string[] args) { ExampleSingleTagSectionHandler(); } private static void ExampleSingleTagSectionHandler() { //SingleTagSectionHandler會以hashtable的形式返回節點的所有屬性 Hashtable mailServer = (Hashtable)ConfigurationManager.GetSection("mailServeraddress");//調用GetSection會返回一個hashtable string address = mailServer["address"].ToString(); string username = mailServer["username"].ToString(); string passWord = mailServer["password"].ToString(); Console.WriteLine(address+"----"+username+"------"+passWord); } }}
設定檔寫好後,調用GetSection強轉hashtable後,就可以用key——value的形式讀取節點的屬性值了。
在.net中,除了上面例子中的這個type,我們也可以使用其它內建type來處理自訂節點。
以上就是.Net——使用.net內建處理常式處理自訂節點Demo 的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!