首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Readxml时路径错误

使用Readxml时路径错误
EN

Stack Overflow用户
提问于 2014-05-02 10:02:25
回答 3查看 366关注 0票数 0

我正在开发一个应用程序,用于读取xml文件并将其转换为datatable,然后使用c# asp.net将其绑定到下拉控件。

我的代码是

代码语言:javascript
复制
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();
    }
}

当执行代码时

代码语言:javascript
复制
 ds.ReadXml("~/eMAMPreset.xml");

异常如下所示

代码语言:javascript
复制
Could not find file 'C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\eMAMPreset.xml'.

我已经将xml文件放置在根目录本身,原因是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-02 10:04:20

您需要Server.MapPath来获取web应用程序的位置。否则,您将获得web服务器可执行文件(IIS)的位置:

代码语言:javascript
复制
ds.ReadXml(Server.MapPath("~/eMAMPreset.xml"));
票数 1
EN

Stack Overflow用户

发布于 2014-05-02 10:04:45

尝试通过Server.MapPath获取web应用程序内部的实际路径。

ds.ReadXml(Server.MapPath("~/eMAMPreset.xml"));

票数 1
EN

Stack Overflow用户

发布于 2014-05-02 10:10:25

代码语言:javascript
复制
HttpContext.Current.Server.MapPath(@"~/eMAMPreset.xml")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23425469

复制
相关文章

相似问题

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