在加载XML文件时定义正确的路径

本文关键字:路径 定义 加载 XML 文件 | 更新日期: 2023-09-27 18:09:32

我试图在XML文件中检索一个名为"DeafultInstDir"的值:

App.config :

<appSettings>
   <add key="DefaultInstDir" value ="RITTNER">
<appSettings>

XML文件的路径为:

C: ' '用户多拉Visual Studio '文件' ' 2012 ' ' NSISSetupGenerator ' NSISSetupGenerator项目

问题:c#正在查找:

C:'Users'dora'Documents'Visual Studio 2012'Projects'NSISSetupGenerator'NSISSetupGenerator'bin'Debug

我试过这样加载它:
Setup_Generator.cs :

public static string DefaultInstDir(){
   XDocument xdoc = XDocument.Load(App.config);
   string path = xdoc.Descendants("DefaultInstDir").First.Value();
   return path; //it should return string "RITTNER"
}

我试着定义一个绝对路径,像这样:

XDocument xdoc = XDocument.Load(C:'Users'dora'Documents'Visual Studio'2012'Projects'NSISSetupGenerator'NSISSetupGenerator'App.config);

我试着用这个函数生成一个路径

HttpContext.Current.Server.MapPath()

它找不到文件。path变量每次都返回null。我如何告诉我的机器在哪个路径上查找XML文件?

在加载XML文件时定义正确的路径

为System添加引用。配置

:

using System.Configuration;
string path= ConfigurationManager.AppSettings["DefaultInstDir"];

编辑:如果你想要一个更高级的解决方案,看看定义节和元素类,并将它们映射到。config文件。https://msdn.microsoft.com/en-us/library/2tw134k3.aspx

找到解决方案。下面的代码…

     using System.Configuration;
     string path= ConfigurationManager.AppSettings["DefaultInstDir"];

…抛出一个异常,因为我的XML元素…

    <appSettings>
    <add key="DefaultInstDir" value ="RITTNER">
    <appSettings>

…在此XML元素之前定义:

    <configSections>...</configsections>

configSections必须是App.config文件中的第一个元素