【问题标题】:load file from relative path从相对路径加载文件
【发布时间】:2016-04-23 22:30:32
【问题描述】:

我目前正在这样做:

XDocument feedXml = XDocument.Load("C:/NewsFeed/NewsFeed/App_Data/WorldNews.xml");

但我想使用相对路径,所以我尝试了以下方法:

XDocument feedXml = XDocument.Load("~/App_Data/WorldNews.xml");

并将属性“复制到输出目录”设置为“始终复制”。

但我收到以下错误:

“System.IO.DirectoryNotFoundException”类型的异常发生在 mscorlib.dll 中,但未在用户代码中处理 附加信息:找不到路径“C:\Program Files (x86)\IIS Express\~\App_Data\WorldNews.xml”的一部分。

有什么帮助吗?

【问题讨论】:

标签: c# asp.net .net relative-path


【解决方案1】:

XDocument.Load 对映射路径一无所知。相反,您应该使用HttpServerUtility.MapPath 映射路径,然后将结果传递给XDocument.Load

var path = HttpContext.Current.Server.MapPath("~/App_Data/WorldNews.xml");
var feedXml = XDocument.Load(path);

【讨论】:

  • 非常感谢,正是我所需要的。将在 9 分钟内标记为已接受 :)
猜你喜欢
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 2014-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多