从相对路径加载文件
load file from relative path
我目前正在这样做:
XDocument feedXml = XDocument.Load("C:/NewsFeed/NewsFeed/App_Data/WorldNews.xml");
但是我想使用相对路径,所以我尝试了以下方法:
XDocument feedXml = XDocument.Load("~/App_Data/WorldNews.xml");
并将 属性 复制到输出目录设置为 "Copy Always"。
但我收到以下错误:
'System.IO.DirectoryNotFoundException' 类型的异常发生在 mscorlib.dll 但未在用户代码中处理
附加信息:未找到部分路径 'C:\Program Files (x86)\IIS Express\~\App_Data\WorldNews.xml'。
有什么帮助吗?
XDocument.Load
对映射路径一无所知。相反,您应该使用 HttpServerUtility.MapPath
映射路径,然后将结果传递给 XDocument.Load
:
var path = HttpContext.Current.Server.MapPath("~/App_Data/WorldNews.xml");
var feedXml = XDocument.Load(path);
我目前正在这样做:
XDocument feedXml = XDocument.Load("C:/NewsFeed/NewsFeed/App_Data/WorldNews.xml");
但是我想使用相对路径,所以我尝试了以下方法:
XDocument feedXml = XDocument.Load("~/App_Data/WorldNews.xml");
并将 属性 复制到输出目录设置为 "Copy Always"。
但我收到以下错误:
'System.IO.DirectoryNotFoundException' 类型的异常发生在 mscorlib.dll 但未在用户代码中处理 附加信息:未找到部分路径 'C:\Program Files (x86)\IIS Express\~\App_Data\WorldNews.xml'。
有什么帮助吗?
XDocument.Load
对映射路径一无所知。相反,您应该使用 HttpServerUtility.MapPath
映射路径,然后将结果传递给 XDocument.Load
:
var path = HttpContext.Current.Server.MapPath("~/App_Data/WorldNews.xml");
var feedXml = XDocument.Load(path);