2012-02-24 44 views
0

我在調試從不同服務器獲取XML內容然後解析它的C#ASP.NET網站。UrlEncode將當前工作目錄添加到我的URL

我的問題:因爲我在本地運行我的網站,我無法從url訪問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

我從來沒有見過'UrlEncode'的行爲。你有一個可能導致它的幫手方法嗎? – 2012-02-24 01:41:40

+0

爲什麼你要使用'URLEncode',除非你有(潛在危險)'QueryStrings'? – Akhil 2012-02-24 01:46:10

+0

看看這個問題http://stackoverflow.com/questions/124932/xmldocument-loadurl-through-a-proxy – 2012-02-24 02:00:08

回答

1

問題是xdoc.Load方法期望URL以「http://」或其他某種協議開頭。您正在提供的URL的URL編碼形式在Load函數中顯示爲文件名。

如果這可以在生產環境中工作,我會感到驚訝。要做到這一點,只需將URL傳遞給Load函數即可。如果您有需要追加到網址的參數,那麼這些參數可能需要進行網址編碼。