----------box程---------- <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name=" MySingleSection " type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </configSections> …… <system.web> …… </system.web> …… < MySingleSection StrA="MyStrA" StrB="MyStrB" StrC="MyStrC" /> </configuration> ----------end---------- ----------box程---------- Dim MySS As IDictionary MySS = ConfigurationSettings.GetConfig("MySingleSection") Dim Str As String For Each Str In MySS.Keys Response.Output.WriteLine(Str & "=" & MySS(Str)) Next ----------end----------ConfigurationSettings.GetConfig("MySingleSection")傳回一雜湊表,而 ----------box程---------- <configuration> <configSections> <!--宣告一MyGroup區段群組--> <sectionGroup name="MyGroup"> <section name="MySection" type=" System.Configuration. NameValueSectionHandler,system, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" /> </sectionGroup> </configSections> <!--MyGroup區段群組,內含MySection 區段--> < MyGroup > < MySection > <add key="MyKey" value="MyValue" /> <add key="MyKey1" value="MyValue2" /> </ MySection > </ MyGroup > </configuration> ----------end---------- ----------box程---------- Dim NVC As System.Collections.Specialized.NameValueCollection NVC = ConfigurationSettings.GetConfig("MyGroup/MySection") Dim Str As String For Each Str In NVC.Keys Response.Output.WriteLine(Str & "=" & NVC(Str)) Next ----------end---------- ----------box程---------- <Products> <Product Title="數位相機" DescUrl="http://www.abc.com.tw/DC"> <RelProducts> <RelProduct Price="27500">Olyplums 5050</RelProduct> <RelProduct Price="30000">Sony 717</RelProduct> </RelProducts> </Product> <Product Title="平板電腦" DescUrl="http://www.abc.ocm.tw/TabletPC"> <RelProducts> <RelProduct Price="61000">Acer TravelMate C100</RelProduct> <RelProduct Price="62000">Compaq TC1000</RelProduct> <RelProduct Price="63000">ViewSonic Tablet PC V1100</RelProduct> <RelProduct Price="64000">Tatung TTAB-910</RelProduct> </RelProducts> </Product> </Products> ----------end---------- ----------box程---------- Public Class ProductTagHandler Implements IConfigurationSectionHandler Public Function Create(ByVal parent As Object, ByVal configContext As Object, ByVal section As System.Xml.XmlNode) As Object Implements System.Configuration.IConfigurationSectionHandler.Create End Function End Class ----------end---------- ----------box程---------- Imports System.Configuration Imports System.Collections Imports System.Xml Public Class ProductTagHandler Implements IConfigurationSectionHandler Public Function Create(ByVal parent As Object, ByVal configContext As Object, ByVal section As System.Xml.XmlNode) As Object Implements System.Configuration.IConfigurationSectionHandler.Create Dim xnProduct, xnRelProduct As XmlNode Dim ProductNodes, RelProductNodes As XmlNodeList Dim RelProducts, Prices As ArrayList Dim PTitle, PDescUrl As String Dim Products As New ArrayList() '取得分類產品節點列表 ProductNodes = section.SelectNodes("Product") '取得每個分類產品節點 For Each xnProduct In ProductNodes '取得分類產品節點的Title、DescUrl屬性值 PTitle = xnProduct.Attributes.GetNamedItem("Title").Value PDescUrl = xnProduct.Attributes.GetNamedItem("DescUrl").Value RelProducts = New ArrayList() Prices = New ArrayList() '取出產品節點下的相關產品列表 RelProductNodes = xnProduct.SelectNodes("RelProducts//RelProduct") If Not RelProductNodes Is Nothing Then '取出相關產品的名稱與價格 For Each xnRelProduct In RelProductNodes RelProducts.Add(xnRelProduct.InnerText) Prices.Add(xnRelProduct.Attributes.GetNamedItem("Price").Value) Next End If '將Product實體放入Products ArrayList內 Products.Add(New Product(PTitle, PDescUrl, RelProducts, Prices)) Next '傳回Products ArrayList Return Products End Function End Class Public Class Product Private m_Title, m_DescUrl As String Private m_RelProducts, m_Prices As ArrayList Public Sub New(ByVal PTitle As String, ByVal PDescUrl As String, ByVal RelProducts As ArrayList, ByVal Prices As ArrayList) m_Title = PTitle m_DescUrl = PDescUrl m_RelProducts = RelProducts m_Prices = Prices End Sub Public ReadOnly Property Title() As String Get Return m_Title End Get End Property Public ReadOnly Property DescURL() As String Get Return m_DescUrl End Get End Property Public ReadOnly Property RelProducts() As ArrayList Get Return m_RelProducts End Get End Property Public ReadOnly Property Prices() As ArrayList Get Return m_Prices End Get End Property End Class ----------end---------- ----------box程---------- <section name="Products" type="ProProductHandler.ProductTagHandler,ProProductHandler" /> ----------end---------- ----------box程---------- Dim Products As ArrayList Dim anProduct As ProProductHandler.Product Dim i As Integer Products = CType(System.Configuration.ConfigurationSettings.GetConfig("Products"), ArrayList) If Not Products Is Nothing Then For Each anProduct In Products Response.Output.WriteLine("<a href=""" & anProduct.DescURL & """" & ">" & anProduct.Title & "</a>") If Not anProduct.RelProducts Is Nothing Then For i = 0 To anProduct.RelProducts.Count - 1 Response.Output.WriteLine(anProduct.RelProducts.Item(i) & ":$" & anProduct.Prices.Item(i)) Next End If Next End If ----------end---------- ----------BOX---------- 參考內容:MSDN線上說明文件 Configuring Applications in .NET(www.c-sharpcorner.com/Code/2002/June/ConfigApp.asp) Creating Custom Configuration Section Handlers(www.dotnetbips.com/displayarticle.aspx?id=127) Specifying Configuration Settings in Web.config(aspnet.4guysfromrolla.com/articles/053102-1.aspx) ----------end----------