我有一個應用程序,我需要具有特定業務實體(即國家)的配置設置。這個配置會是這樣的:配置設置屬性動態讀取
<country value="US">
<metadata>
<key name="filePath" value="c:\blah">
<key name="wsPath" value="http://blah.com">
</metadata>
<sublayouts>
<template value="division">
<key name="path" value="c:\blah\file.txt">
</division>
</sublayouts>
</country>
<country value="FR">
<metadata>
<key name="filePath" value="c:\blah">
<key name="wsPath" value="http://blah.com">
</metadata>
<sublayouts>
<template value="division">
<key name="path" value="c:\blah\file.txt">
</division>
</sublayouts>
</country>
我要的是能夠讀入,因爲我在現場靜態對象這種所以,對於美國網站,它會在整個國家的加載值=「US」的節點。一旦加載,我希望能夠閱讀它喜歡:
string var = Config.metaData.filePath
OR
string var = Config.sublayouts.template["division"].path;
這甚至是可行的?有沒有一個好的設計模式(不是太困難),這樣做?只要有意義,我完全願意改變XML的結構。我希望能夠在需要時添加新的部分。基本上,這個想法是有一個靈活的配置系統,不難以編程方式維護。
不錯!有沒有辦法動態地設置屬性的名稱?類似於:Country.Metadata =「blah」 - 但名稱「元數據」是動態的? – 2012-08-05 16:30:19
如果您想要動態,請將Country聲明爲動態:dynamic country = new ExpandoObject(); country.MetaData = metaData; – 2012-08-05 16:38:22
字符串元數據將來自字符串其他地方...你知道什麼是國家的語法。「metadata」=「asdasd」其中「元數據」是一個變量? – 2012-08-05 16:40:00