1

作为 ASP.NET MVC4 项目的一部分,我需要能够读取和写入一些 XML 文件。我无法找到/访问我需要的文件。

我创建了一个演示项目,向其中添加了一个/Documents包含一些 XML 文件的文件夹。

所以在同一个项目中/Classes,我的班级有一个文件夹,应该使用XDocument.load().

这是我想做的(以及我认为它应该如何工作):

string path = "/Documents/test.xml"; // Doesn't work
XDocument xml = XDocument.load(path);

但是,这不起作用。不适用于“/Documents”、“Documents”或“~/Documents”。提供完整路径是可行的,但如果网站要部署在其他环境中,则不是很有用。

string path = "D:/Projects/Demo/Demo/Documents/test.xml"; // Works
XDocument xml = XDocument.load(path);

有什么建议我可以使用某种相对路径访问文件吗?

4

3 回答 3

5

用于Server.MapPath获取绝对路径。

string path = Server.MapPath("/Documents/test.xml");
XDocument xml = XDocument.load(path);
于 2012-11-22T10:51:17.587 回答
3

Use HttpContext.Current.Server.MapPath

string path = HttpContext.Current.Server.MapPath("/Documents/test.xml"); 
于 2012-11-22T10:52:13.290 回答
1

Have you tried:

var path = Server.MapPath("/Documents/test.xml");
于 2012-11-22T10:52:22.663 回答