繁体   English   中英

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

[英]ASP.NET Web application cant find my XML file, sayis its not in IIS Express folder

我在我的另一个项目中有一个类,它为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的更多信息,请点击此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM