我刚刚将Windows Phone 8.0 Silverlight应用程序升级到Windows Phone 8.1 Runtime应用程序。 不幸的是,我必须将此应用降级为8.1 SL项目,因为Windows Runtime缺少Google Admob支持。
除此之外,在我的8.1 RT项目中,我使用以下代码来获取XML提要:
private async void GetData() { XmlDocument regenthetinXML = await XmlDocument.LoadFromUriAsync(new Uri("http://regenthet.in/data/regenthetin.xml", UriKind.Absolute)); }
两个平台都支持XmlDocument类,但是当我在Windows Phone 8.1 SL项目中使用完全相同的代码时,我会遇到类似这样的异常:
An exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.ni.dll but was not handled in user code Additional information: The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
有什么建议吗?我做错了什么?
答案 0 :(得分:0)
首先使用WebClient
检索字符串。
string xmlStr;
string m_strFilePath = "http://regenthet.in/data/regenthetin.xml";
using(var wc = new WebClient())
{
xmlStr = wc.DownloadString(m_strFilePath);
}
var xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlStr);
在移动设备上,如果您没有DownloadString
,请将DownloadStringAsync
与DownloadStringCompleted
的其他事件处理程序一起使用。