我正在开发一个应用程序,用于读取xml文件并将其转换为datatable,然后使用c# asp.net将其绑定到下拉控件。
我的代码是
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
private void ConvertXMLToDT()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds.ReadXml("~/eMAMPreset.xml");
dt = ds.Tables[0];
Response.Write("done");
}
protected void Button1_Click(object sender, EventArgs e)
{
ConvertXMLToDT();
}
}当执行代码时
ds.ReadXml("~/eMAMPreset.xml");异常如下所示
Could not find file 'C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\eMAMPreset.xml'.我已经将xml文件放置在根目录本身,原因是什么?
发布于 2014-05-02 10:04:20
您需要Server.MapPath来获取web应用程序的位置。否则,您将获得web服务器可执行文件(IIS)的位置:
ds.ReadXml(Server.MapPath("~/eMAMPreset.xml"));发布于 2014-05-02 10:04:45
尝试通过Server.MapPath获取web应用程序内部的实际路径。
ds.ReadXml(Server.MapPath("~/eMAMPreset.xml"));
发布于 2014-05-02 10:10:25
HttpContext.Current.Server.MapPath(@"~/eMAMPreset.xml")https://stackoverflow.com/questions/23425469
复制相似问题