XmlDocument找不到指定的文件

时间:2014-12-16 00:26:52

标签: c# windows silverlight windows-phone-8 windows-runtime

我刚刚将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)

有什么建议吗?我做错了什么?

1 个答案:

答案 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,请将DownloadStringAsyncDownloadStringCompleted的其他事件处理程序一起使用。