如何在Visual Studio的根项目目录中访问XML文件?

时间:2016-01-26 17:38:18

标签: c# asp.net xml

这似乎是一件非常简单的事情,但我没有能够专门找到我的问题的答案。我有一个ASP.NET网站项目,我正在尝试简单地加载一个XML文件来处理一些数据。请参阅下面的代码。

var XmlData = XDocument.Load("TheXMLFile.xml");

这行代码给出了以下错误:System.IO.FileNotFoundException was unhandled by user code Message=Could not find file 'C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\TheXMLFile.xml'。 首先,上面给出的路径甚至不是文件的位置。项目文件结构如下所示:

MyProject
    .
    .
    .
     TheXMLFile

我无法找到为什么找不到该文件。有什么建议?

3 个答案:

答案 0 :(得分:1)

HttpContext.Current.Server.MapPath("~/TheXMLFile.xml")

答案 1 :(得分:1)

答案实际上是Server.MapPath("TheXMLFile.xml")。感谢大家的建议。没有人发布这个确切的解决方案,但这是因为我得到了这个答案的其他帖子。

答案 2 :(得分:-1)

您要使用的是var XmlData = XDocument.Load("~\TheXMLFile.xml");

但是由于XDocument.Load不知道~你需要先将路径转换为完整路径(参见@aloneguid answer)然后加载

var path = HttpContext.Current.Server.MapPath("~/TheXMLFile.xml");
var XmlData = XDocument.Load(path);