我想從另一個項目的外部app.config(appSettings)加載一些配置,加載的值必須保存在我的一些屬性中。這裏(參見代碼中的註釋)是我想做的事:使用Linq而不是foreach
XmlDocument xmlDoc = MyXmlDocument;
if (xmlDoc != null)
{
XmlNodeList appSettings = xmlDoc.SelectNodes("/configuration/appSettings/add");
if (appSettings != null && appSettings.Count > 0)
{
foreach (XmlNode node in appSettings)
{
XmlAttribute keyAttr = node.Attributes["key"];
if (keyAttr != null)
{
if (keyAttr.Value == "MyProperty1NameInConfigFile") MyProperty1 = node.Attributes["value"].Value;
// ....
}
}
// Instead of using foreach loop, I want to use Linq like this:
var node = get me the node that has the keyAttribute.Value == "MyProperty1NameInConfigFile"
MyProperty1 = node.Attributes["value"].Value;
// If I got this, then I can later use another method for each property like this:
SaveConfigToMyProperty(ref MyProperty1, "MyProperty1NameInConfigFile");
SaveConfigToMyProperty(ref MyProperty2, "MyProperty2NameInConfigFile");
// ...
}
}
爲什麼您需要使用XML讀取器來使用app.config? –
,因爲我正在使用另一個項目的app.config。我想從外部app.config讀取設置。 – Stacked
可能希望爲這個問題添加一些小技巧,這樣人們(比如我)就不會威脅到你。 ;) –