一、原來自定配置檔案的編寫方式:
1、定義型別比較繁瑣internal class aopconfigurationsection : configurationsection
} }
2、linq to xml查詢xelement xelement = xelement.parse(xml);
var name = from e in xelement.elements("b")
let s = e.element("e")
select s.attribute("name").value;
二、通用配置元件介紹
引用:definitionconfig.dll
物件:displayconfigname特性(對應節點名稱)
readsection類(初始化節點)
configsectionshelper類(配置解析類)
sections類(配置集合類)
特點:根據自定義型別讀取配置檔案
注意:定義子節點屬性型別為sections泛型集合類
方法:getconfigsection();//讀取唯一節點型別
getconfigsectionchild();//讀取包含子節點型別
1.自定義型別public class connconfig
public string str//如果沒有宣告特性,那麼配置檔案名稱為屬性名稱str
}
2.單節點(不含子節點)//這裡section 中type屬性為definitionconfig.configsectionshelper,definitionconfig或db
connstring
上面我們只配置了乙個connstr節點。沒有任何子節點。注:此節點只能有乙個,所以不能多個connstr。
我們把這個配置讀取為connconfig型別。
readsection rs = new readsection("connstr");//例項化readsection,引數為節點名稱
connconfig conn= rs.getconfigsection();//通過getconfigsection讀取配置
console.writeline(conn.name);//驗證是否讀取到
3、多節點(含子節點)connstring
sqlite
connstring
readsection rs = new readsection("connstrs");//讀取connstrs節點
var con = rs.getconfigsectionchild();//getconfigsectionchild讀取子節點配置,注:只要有子節點配置都需要用這個來讀取
foreach (var item in con)
4、屬性為自定義型別(含多個子節點)public class connconfig
public connstring str //定義為型別
}public class connstring
public string type
}oracle
oracle10
readsection rs = new readsection("connstrs");
var con = rs.getconfigsectionchild();
console.writeline(con[0].str.name);//oracledb
5、屬性為自定義集合型別(子節點集合)public class connconfig
public connstring str
public sectionsaa //定義集合
}public class connstring
public string type
}public class aa
}oracle
oracle10
2
readsection rs = new readsection("connstrs");
var con = rs.getconfigsectionchild();
foreach (var item in con[0].aa)
6、屬性為自定義多個集合型別(多子節點集合)public class connconfig
public connstring str
public sectionsaa
} public class connstring
public string type
} public class aa
public sectionsbb
} public class bb
}oracle
oracle10
2readsection rs = new readsection("connstrs");
var con = rs.getconfigsectionchild();
foreach (var item in con[0].aa)
7、配置外部configreadsection rs = new readsection("mysection");//讀取節點
var list = rs.getconfigsectionchild();
元件demo:readconfigdemo
WebConfig自定義節點並讀取
最近是遇到了乙個需求,需要自定義webconfig節點,然後進行讀取,網上有很多部落格,寫的非常好,但是筆者在實現的過程中還是遇到了點問題,現在寫一篇文章來總結下。首先推薦大家看筆者就是照著這篇blog來完成自己的demo。先把demo貼出來 大家一定要注意configsections一定要寫在co...
自定義配置節點
我希望在web.config中,配置 資訊,管理員資訊,和使用者資訊 當然這個配置有點不切實際了,這裡只是為了演示 所以,我希望按下面的格式做配置。這個sitesetting配置節點是乙個稍微複雜一點的配置,自己包含有attributes,同時包含子節點siteadmin,siteusers,而si...
zTree(十)自定義節點html格式名稱
需求 因為專案組織上有終端數量,所以產品希望在節點上能夠顯示終端數量並顯示在節點的右側,一開始我查文件並沒有這種東西,後來想到用html片段加上去,結果發現節點上顯示了html字串,也就是說並不識別html片段並正確顯示我需要的東西。orglist i name orglist i orgname ...