这是我在web.config中的自定义部分。现在我想通过c#
读取数据test-uk@mysite.com
假设我想要技术,我只能根据价值读取数据。如果我提供英国作为价值,那么函数将返回英国邮件ID TTI
。
指导我如何轻松地编写最少的代码。感谢
答案 0 :(得分:1)
您可以在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");
答案 1 :(得分:1)
首先,您的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);