首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法读取目录中的XML文件?

无法读取目录中的XML文件?
EN

Stack Overflow用户
提问于 2017-02-25 09:47:01
回答 2查看 232关注 0票数 0

我有一个MVC web应用程序,我想在其中读取一个XML文件,该文件将给我一个要显示的图像文件夹/文件的列表。

我使用Visual Studio 2015在Windows 10计算机上本地运行此程序。在我的控制器中,当我尝试执行以下代码来获取XML文件时,我立即得到了一个错误"The Web server is configured to not list the contents of this directory."

代码语言:javascript
复制
public ActionResult Index()
{
    XElement xelement = XElement.Load("~\\Gallery\\Gallery.xml");
    IEnumerable<XElement> galleries = xelement.Elements();

    return View();
}

然后我做了一些研究,发现我应该将以下内容放入我的web.config文件中。当我这样做并转到视图时,它会立即列出我的目录中的文件夹。

代码语言:javascript
复制
<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>

我还跟踪了一些信息,我转到了IIS,选择了目录浏览,然后选择了“启用”。这似乎没有任何效果。

你知道我能做些什么吗?

错误消息

EN

回答 2

Stack Overflow用户

发布于 2017-02-25 10:11:01

XElement.Load不会将"~\\Gallery\\Gallery.xml"理解为您想要的路径。

您可以使用HostingEnvironment.MapPath将ASP.NET应用程序路径映射到文件系统路径,因此:

代码语言:javascript
复制
XElement xelement = XElement.Load(HostingEnvironment.MapPath("~\\Gallery\\Gallery.xml"));
票数 2
EN

Stack Overflow用户

发布于 2017-02-28 00:59:44

我发布了这个问题的答案,以防其他人遇到同样的问题。

问题是我有一个名为"Gallery“的控制器,以及我的站点中有一个名为"Gallery”的文件夹。我的超文本标记语言ActionLink创建了一个超链接,而不是。一旦我将图像文件夹更改为GalleryImages,那么一切都会正常工作。

不要将控制器的名称与站点中的文件夹名称相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42451006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档