无法使用ReadXml Dataset Method读取XML文件

时间:2012-11-22 12:25:40

标签: c# asp.net xml dataset filenotfoundexception

我有以下方法:

public static DataSet BringProducts()
{
    DataSet dataSet = new DataSet();
    var dir = @"ProductsCookieData.xml";
    if (File.Exists(dir))    //without File.Exists, same problem.
    {
        dataSet.ReadXml(dir);
    }
    return dataSet;
}

该文件存在,但该方法始终没有看到它。该文件在C:\中,我在其他位置尝试过,同样的事情发生了。也尝试不使用静态。

如果我不使用File.Exists(),则会抛出FileNotFoundException。

2 个答案:

答案 0 :(得分:1)

使用您声明文件的方式

var dir = @"ProductsCookieData.xml";

您的文件必须与您的代码/当前网页位于同一目录中,而不是C:中。您可以授予C:\权限并将代码更改为

var dir = @"C:\ProductsCookieData.xml";

有时,可以将文件复制到应用程序文件夹,根目录或特殊文件夹,并使用Server.MapPath访问

var dir = Server.MapPath("~/ProductsCookieData.xml");

答案 1 :(得分:0)

您需要指定文件的完整路径。目前,您只提供相对路径,该路径将相对于当前工作目录进行解析。

如果您的文件位于C:\的根目录中,请将代码更改为:

string dir = @"C:\ProductsCookieData.xml";