我正在调试我的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()或其他什么?我正在我的计算机上本地运行/调试我的项目,因此它没有从服务器运行
答案 0 :(得分:1)
问题是xdoc.Load方法期望URL以“http://”或其他协议开头。您提供的URL的URL编码形式在Load函数中显示为文件名。
如果这在生产环境中起作用,我会感到惊讶。要使其工作,只需将URL传递给Load函数即可。如果您有需要附加到URL的参数,则可能需要对这些参数进行URL编码。