Конфигурирование и настройка Microsoft ASP.NET



         

Создание собственного сложного обработчика раздела - часть 3


Если Hashtable существует, то имеются параметры, которые должны быть унаследованы новым набором параметров. Если родительский Hashtable существует, то новый Hashtable будет клоном родительского Hashtable; если родительский Hashtable не существует, то будет создан новый Hashtable.

Следующим шагом в создании собственного обработчика раздела является перебор всех элементов XML и определение того, что следует делать с различными подразделами и элементами. Ниже приведен код для перебора всех элементов XML этого раздела.

C#

foreach (XmlNode child in section.ChildNodes) { if(child.NodeType != XmlNodeType.Comment && child.NodeType != XmlNodeType.Whitespace) { switch (child.Name) { case "License": config["License"] = child.Attributes.Item(0).Value; break;

case "DataSources": config["DataSources"] = ReadSection( config["DataSources"], child, "connstring"); break;

case "Emails": config["Emails"] = ReadSection(config["Emails"], child, "address"); break;

case "Printers": config["Printers"] = ReadSection(config["Printers"], child, "localname"); break; } } }

VB.NET

Dim child As XmlNode For Each child In section.ChildNodes If child.NodeType <> XmlNodeType.Comment And child.NodeType <> _ XmlNodeType.Whitespace Then Select Case child.Name Case "License" config("License") = child.Attributes.Item(0).Value

Case "DataSources" config("DataSources") = ReadSection( _ config("DataSources"), child, "connstring")

Case "Emails" config("Emails") = ReadSection(config("Emails"), _ child, "address")

Case "Printers" config("Printers") = ReadSection(config("Printers "), _ child, "localname") End Select End If Next child




Содержание  Назад  Вперед