获取位于同一项目中的XML文件的配置值

时间:2013-04-10 14:35:05

标签: c# xml

我正在制作一个小程序,将图片从一个位置复制到另一个位置。图片的信息存储在数据库中,所以我需要连接字符串,我也创建了一个带有操作最终输出的txt文件,我想将这两个值存储在App.Config.xml文件中。

我的项目结构非常简单:

Project Tree

XML文件本身是:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="MyDB" connectionString="Data Source=.\\DVSQLEXPRESS08;Initial Catalog=**;Persist Security Info=True;User ID=**;Password=**;MultipleActiveResultSets=True" />
  </connectionStrings>
  <createResultFile>
    <add key="ResultFile" value="C:\Users\dv\Desktop\Leron\PictureStatus.txt"/>
  </createResultFile>
</configuration>

我想在connectionString中使用<createResultFile>PictureTransferTool.cs值。这是我第一次使用XML文件和C#(一般是.NET),所以我想要检索这些配置值的方法是什么?

3 个答案:

答案 0 :(得分:2)

您的配置文件必须如下所示......

配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="ResultFile" value="C:\Users\dv\Desktop\Leron\PictureStatus.txt"/>
  </appSettings>
  <connectionStrings>
    <add name="MyDB" connectionString="Data Source=.\\DVSQLEXPRESS08;Initial Catalog=**;Persist Security Info=True;User ID=**;Password=**;MultipleActiveResultSets=True" />
  </connectionStrings>
</configuration>

C#:

您可以阅读下面的连接字符串

var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString;
Console.WriteLine(connectionString);

您可以阅读下面的用户定义设置

var Resultfile = System.Configuration.ConfigurationManager.AppSettings["ResultFile"];
Console.WriteLine(Resultfile);

答案 1 :(得分:1)

我通常在app.config中执行用户定义的参数的方法是将它们放在appSettings标签中。

<appSettings>
 <add key="myStr" value="String Value" />

然后您可以使用

访问它
string myStr = System.Configuration.ConfigurationSettings.AppSettings["myStr"];

答案 2 :(得分:0)

它对我有用。

Linq;
using System.Xml.XPath;
...
var doc = XDocument.Load("test.xml");// You should put the way to your XML
var name = doc.XPathSelectElements("/configuration/connectionStrings/add").Value;
var name = doc.XPathSelectElements("/configuration/createResultFile/add").Value;