Skip to main content
 首页 » 编程设计

c#之ASP.NET Web 应用程序找不到我的 XML 文件,说它不在 IIS Express 文件夹中

2024年02月13日30xiaohuochai

我在我的另一个项目中有一个类,它为 XmlTextReader 对象加载 XML.xml 文件。然后我的另一个项目(网站)使用这个项目来加载 xml 文件。所以当我运行这个网站时,它说它无法在 C:\Program Files(x86)\IIS Express\XML.xml 中找到 XML.xml 文件。 我无法在那里创建新文件,而且我完全不知道如何配置该网站以从另一个目录中找到我的 XML 文件。我尝试了很多谷歌搜索,但找不到任何好的答案。任何快速修复或其他东西。 这是 asp.net 中的代码

protected void Page_Load(object sender, EventArgs e) 
    { 
        XMLObjectParser parseri = new XMLObjectParser("XML.xml"); 
        parseri.readFileAndSave(); 
        item = parseri.getItem(1); 

还有我的 XMLObjectParser 中的代码

public XMLObjectParser(string file) 
    { 
        xmlreader = new XmlTextReader(file); 
        this.file = file; 
 
    } 

谢谢

请您参考如下方法:

您的代码尝试在不指定路径名的情况下打开文件。
在这种情况下,文件的最终位置是 IIS 进程启动目录,而不是网站内的文件夹。

如果您想访问网站文件夹中的文件,请使用 Server.MapPath .
如文档中所述,如果您未设置任何相对路径,则假定该文件位于您的 ASP 页面所在的同一文件夹中。

所以,你可以这样写

 XMLObjectParser parseri = new XMLObjectParser(Server.MapPath("XML.xml")); 

如果您的文件应该位于相对于调用页面的当前文件夹中。
您可以使用类似这样的方式在网站的文件夹结构中指定任何文件夹

 XMLObjectParser parseri = new XMLObjectParser(Server.MapPath("/APP_DATA/XML.xml")); 

有关 Server.MapPath here 的更多信息