是否可以搜索所有键值并返回键?

时间:2011-08-23 01:01:20

标签: c# .net asp.net

这是我的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#

非常感谢你的帮助

2 个答案:

答案 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的代码来获取您感兴趣的部分,然后使用我的内容来查看它们。