[英]How to read custom section data in web.config with minimum code
這是我在web.config中的自定義部分。 現在我想通過C#讀取數據
<configuration>
<MailList>
<MailID id="test-uk@mysite.com" Value="UK" />
<MailID id="test-us@mysite.com" Value="US" />
<MailID id="test-ca@mysite.com" Value="CA" />
</databases>
</configuration>
假設我想要一種只能基於值讀取數據的技術。 如果我提供英國作為值,則功能將返回英國郵件id test-uk@mysite.com
。
指導我如何輕松編寫最少的代碼。 謝謝
您可以在webconfig中使用appsettings標記,例如:
<configuration>
<appSettings>
<add key="test-uk@mysite.com" value="UK" />
<add key="test-us@mysite.com" value="US" />
<add key="test-ca@mysite.com" value="CA" />
之后,您就可以上課了:
public class WebConfigreader
{
public static string AppSettingsKey(string key)
{
if (WebConfigurationManager.AppSettings != null)
{
object xSetting = WebConfigurationManager.AppSettings[key];
if (xSetting != null)
{
return (string)xSetting;
}
}
return "";
}
}
按照您的邏輯,您只是在打電話:
String strUk = WebConfigreader.AppSettingsKey("test-uk@mysite.com");
首先,您的XML似乎已損壞:
一定是這樣的:
<configuration>
<MailList>
<MailID id="test-uk@mysite.com" Value="UK" />
<MailID id="test-us@mysite.com" Value="US" />
<MailID id="test-ca@mysite.com" Value="CA" />
</MailList>
</configuration>
此代碼應執行您想要的操作:
string country = "UK";
var result =
XDocument.Load("~/web.config")
.Element("configuration")
.Element("MailList")
.Elements("MailID")
.First(el => el.Attribute("Value").Value.Equals(country))
.Attribute("id")
.Value;
Console.WriteLine(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.