阅读配置文件没有配置部分
问题描述:
有点尴尬问,但因为我从来没有这样做,在这里。我有一个配置文件,它具有以这种格式存储的应用程序的连接字符串。阅读配置文件没有配置部分
<connectionStrings>
<clear />
<add name="MyConnectionStringName" connectionString="{here is a connection string}"/>
</connectionStrings>
我试过配置管理器,但它要求该文件具有“配置”根元素。配置名称空间中是否还有别的东西,还是应该使用LinqToXml?
更新:我无法更改文件中的任何内容,文件已由本地框架中的某些使用多年。上面显示了文件中的所有内容。
UPDATE2:二看就会发现该文件从App.Config中引用为
<connectionStrings configSource="Config\connectionstrings.config"/>
,让我用ConfigurationManager.ConnectionStrings。
答
什么是错在
<Configuration>
<appSettings>
<add key="MyConnectionStringName" value="{here is a connection string}"/>
</appSettings>
</Configuration>
答
还有更多的不仅仅是connectionStrings节的配置文件。如果您使用Visual Studio,修复问题的简单方法是使用IDE添加新的应用程序配置文件。 IDE将为您创建一个shell文件,然后您可以将connectionStrings部分添加到(在配置部分中)。
通过手,在最低限度,你需要这样的:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<clear />
<add name="MyConnectionStringName" connectionString="{connection string}"/>
</connectionStrings>
</configuration>
答
那么你可以将其加载到一个XmlDocument和Load方法。
一旦你装载了它,你可以使用SelectNodes和xpath查询来找回你想要的节点。
关我的头的东西顶像
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,自从我写了一段之后,已经有一段时间了。
这是一个旧的应用程序,它有一些蹩脚的框架构建它,我无法改变它。 – epitka 2009-12-08 17:21:50