这似乎是一件非常简单的事情,但我没有能够专门找到我的问题的答案。我有一个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
我无法找到为什么找不到该文件。有什么建议?
答案 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);