这是我的web.config:
<add key="SiteTitle" value="Breaking News, World News, and Multimedia"/>
<add key="SiteName" value="New York Times"/>
<add key="somekey" value="somevalue"/>
是否可以搜索所有值以查找"world news"
并返回"SiteTitle"
?
我正在使用asp.net c#
非常感谢你的帮助
答案 0 :(得分:2)
您可以使用System.Collections.Specialized命名空间来提取所有键/值元素。
添加:
using System.Collections.Specialized;
然后使用类似的东西来获取值:
NameValueCollection lstKeyValues;
lstKeyValues = (NameValueCollection) ConfigurationManager.GetSection("YourSectionHere");
然后,您可以遍历它并提取所需的值
答案 1 :(得分:0)
我确信这可以通过RegEx完成,但您只需在应用设置中搜索每个KVP的内容:(编辑以回复您的评论)
public string GetKeyThatHasMyValue (string Section, string ValueToFind)
{
string Result = null;
var Settings = (NameValueCollection)ConfigurationManager.GetSection (Section);
foreach (string Key in Settings.Keys)
{
if (Settings[Key].Contains (ValueToFind))
{
Result = Key;
break;
}
}
return Result;
}
修改强> 这也假设您正在使用应用程序设置 - 否则使用Eclyps19的代码来获取您感兴趣的部分,然后使用我的内容来查看它们。