protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath(@"C:\Users\Raymond\Documents\Visual Studio 2010\WebSites\WebSite17\XMLFile.xml"));
Repeater1.DataSource= ds;
Repeater1.DataBind();
}
我收到错误消息:
C:/ Users / Raymond / Documents / Visual Studio 2010 / WebSites / WebSite17 / XMLFile.xml'是物理路径,但需要虚拟路径。
答案 0 :(得分:3)
删除MapPath
:
ds.ReadXml(@"C:\Users\Raymond\Documents\Visual Studio 2010\WebSites\WebSite17\XMLFile.xml");
物理路径是磁盘上的实际路径,而虚拟路径是Web应用程序中的路径。 MapPath
将虚拟路径映射到物理路径。由于您已经拥有物理路径,因此您不需要它。
如果路径类似于~/XMLFile.xml
:
ds.ReadXml(Server.MapPath(@"~/XMLFile.xml");
~
是您的Web应用程序在虚拟路径中的主页。
答案 1 :(得分:1)
正如例外情况告诉您:您正在传递物理路径c:\\
但
Server.MapPath需要虚拟路径~/