2011-11-07 230 views
0

我正在使用下面的C#代码来获取URL到一个xml文件。当前页面是News.aspx,并且XML文件位于相同的文件夹中,这就是为什么它可以正常工作。获取文件的路径

xUrl = Request.Url.GetLeftPart(UriPartial.Path).Replace("News.aspx", "news.xml"); 

但是我觉得有点不对,如果News.aspx改变了怎么办?这是做这种事情的正确方法吗?或者有更好的方法来获取文件的URL?

感谢

+1

你是指什么更好的方法?如果您知道文件的名称,请直接调用它。没有办法检测它是否改变了你。 – Oded

回答

1

我会用Server.MapPath来获取文件的URL。

private string GetPathOfMyXMLFile(string name){ 
    return Server.MapPath("~/Resources/"+name+".xml"); 
} 

你就可以得到这个代码

// Bla bla load file 
string path = GetPathOfMyXMLFile("News"); 

您可以添加www.donetnukelabs'建议答案,并跳出你的XML文件转换成设置存储的名称(web配置也许) ,如果它可能会改变。

1

有您能解决这个方法很多,你可以在系统中引入不变,也可以使用appSettings在web.config中的相对路径存储为news.xml的文件夹。

你说得对,你现在的方法不被认为是好的做法。

+0

同意。使用配置设置,以便如果要将XML文件放在其他位置或重命名它,则只需更改配置文件中的设置,而不是重新编译代码... – Chris