读取没有配置部分的配置文件

时间:2009-12-08 17:08:41

标签: asp.net configuration configuration-files

有点不好意思问,但是因为我从来没有这么做过,所以就这样了。我有一个配置文件,其中包含以此格式存储的应用程序的连接字符串。

<connectionStrings>
    <clear />
    <add name="MyConnectionStringName" connectionString="{here is a connection string}"/>
</connectionStrings>

我尝试过ConfigurationManager,但它要求文件具有“配置”根元素。配置名称空间中还有其他内容,或者我应该只使用LinqToXml吗?

更新:我无法更改文件中的任何内容,文件已经被本土框架中的一些人使用了多年。文件中的所有内容如上所示。

Update2:第二次显示该文件从App.Config引用为

  <connectionStrings configSource="Config\connectionstrings.config"/>

允许我使用ConfigurationManager.ConnectionStrings。

3 个答案:

答案 0 :(得分:1)

配置文件不仅仅是connectionStrings部分。如果您使用的是Visual Studio,则解决问题的简便方法是使用IDE添加新的应用程序配置文件。 IDE将为您创建一个shell文件,然后您可以将connectionStrings部分添加到(在配置部分中)。

手工,至少,你需要这个:

<?xml version="1.0"?>
<configuration>
    <connectionStrings>
        <clear />
        <add name="MyConnectionStringName" connectionString="{connection string}"/>
    </connectionStrings>
</configuration>

答案 1 :(得分:0)

中有什么问题
<Configuration>
  <appSettings>
    <add key="MyConnectionStringName" value="{here is a connection string}"/>
  </appSettings>
</Configuration>

答案 2 :(得分:0)

您可以将其加载到XmlDocument和Load方法中。

加载后,可以使用带有xpath查询的SelectNodes来获取所需的节点。

我的头顶像是

string conn;
XmlDocument xdoc = new XmlDocument();
xdoc.Load("path_to_file");
var configs = xdoc.SelectNodes("ConnectionStrings/Add");
foreach(XmlNode n in configs)
{
     conn = n.Attributes["connectionString"];
}

试试看,然后看看。你可能需要玩xpath,因为我写了一段时间。