我目前正在这样做:
XDocument feedXml = XDocument.Load("C:/NewsFeed/NewsFeed/App_Data/WorldNews.xml");
但是我想使用相对路径,所以我尝试了以下内容:
XDocument feedXml = XDocument.Load("~/App_Data/WorldNews.xml");
将属性Copty设置为输出目录,然后将其设置为"始终复制"。
但我收到以下错误:
类型' System.IO.DirectoryNotFoundException'的例外情况发生在mscorlib.dll但未在用户代码中处理 附加信息:路径的一部分' C:\ Program Files(x86)\ IIS Express \〜\ App_Data \ WorldNews.xml'找不到。
请帮忙吗?
答案 0 :(得分:4)
XDocument.Load
对映射路径一无所知。相反,您应该使用HttpServerUtility.MapPath
映射路径,然后将结果传递到XDocument.Load
:
var path = HttpContext.Current.Server.MapPath("~/App_Data/WorldNews.xml");
var feedXml = XDocument.Load(path);