UrlEncode将当前工作目录添加到我的URL

时间:2012-02-24 01:25:57

标签: c# urlencode

我正在调试我的C#ASP.NET网站,该网站从另一台服务器获取XML内容,然后对其进行解析。

我的问题:因为我在本地运行我的网站,所以无法从网址访问XML。

当我去打电话时:

XmlDocument xdoc = new XmlDocument();
xdoc.load( Server.UrlEncode("http://www.website.com/test.aspx") );

它将当前工作目录置于URL的前面,使其成为......

xdoc.load( "C:/users/Visual_Studio/http://www.website.com/test.aspx" );

这显然意味着它无法获取xml文件内容。

如何阻止这种情况发生?我的意思是使用Url.PathEncode()或其他什么?我正在我的计算机上本地运行/调试我的项目,因此它没有从服务器运行

1 个答案:

答案 0 :(得分:1)

问题是xdoc.Load方法期望URL以“http://”或其他协议开头。您提供的URL的URL编码形式在Load函数中显示为文件名。

如果这在生产环境中起作用,我会感到惊讶。要使其工作,只需将URL传递给Load函数即可。如果您有需要附加到URL的参数,则可能需要对这些参数进行URL编码。