xxx不是有效的虚拟路径?

时间:2012-03-05 15:02:51

标签: c# asp.net xmldatasource virtual-path

我像这样使用XmlDataSource

<asp:XmlDataSource ID="xmlDataSource1" runat="Server" DataFile="https://myurl.xml" ></asp:XmlDataSource>

作为rotater控件的数据源。


但我一直得到以下例外:

  

https://myurl.xml不是有效的虚拟路径。

虽然我在外部尝试了链接,但是有一个xml文件

1 个答案:

答案 0 :(得分:5)

忽略我之前的回答。显然,XmlDataSource不喜欢https网址作为DataFile

// works
xmlDataSource1.DataFile = "http://code.google.com/feeds/p/google-code-prettify/svnchanges/basic";
// does not work
xmlDataSource1.DataFile = "https://code.google.com/feeds/p/google-code-prettify/svnchanges/basic";

编写一些额外的代码行,从https源下载XML,如:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://code.google.com/feeds/p/google-code-prettify/svnchanges/basic");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream()); 
string str = reader.ReadToEnd();
// save it or set it as the .Data property of XmlDataSource