【问题标题】:XmlDocument cannot find the specfied fileXmlDocument 找不到指定的文件
【发布时间】:2014-12-16 00:26:51
【问题描述】:

我刚刚将我的 Windows Phone 8.0 Silverlight 应用升级到了 Windows Phone 8.1 Runtime 应用。 不幸的是,我不得不将此应用程序降级为 8.1 SL 项目,因为 Windows 运行时缺乏 Google Admob 支持。

除此之外,在我的 8.1 RT 项目中,我使用以下代码来获取 XML 提要:

私有异步 void GetData()
{
    XmlDocument regenthetinXML = 等待 XmlDocument.LoadFromUriAsync(new Uri("http://regenthet.in/data/regenthetin.xml", UriKind.Absolute));
}

两个平台都支持XmlDocument 类,但是当我在我的 Windows Phone 8.1 SL 项目中使用完全相同的代码时,我会遇到这样的异常:

mscorlib.ni.dll 中出现“System.IO.FileNotFoundException”类型的异常,但未在用户代码中处理 附加信息:系统找不到指定的文件。 (来自 HRESULT 的异常:0x80070002)

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

【问题讨论】:

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


【解决方案1】:

首先使用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 的附加事件处理程序。

【讨论】:

  • 感谢您的回复。我知道您可以使用 WebClient 类来检索数据文件等,但是为什么不能按照上述方式在 Silverlight 平台上获取外部数据文件。是同一个 XmlDocument 类,如何才能注意到两个平台的功能差异?
  • 代码对你有用吗?是的,关于两个平台之间的功能差异,桌面中有一些方法在手机上没有(如密码学)。也许,通过将Async 强加给我们,我们会被驱动到响应式 UI 模型
猜你喜欢
  • 1970-01-01
  • 2016-03-17
  • 2012-04-29
  • 1970-01-01
  • 1970-01-01
  • 2015-03-28
  • 2020-02-20
  • 2021-04-19
相关资源
最近更新 更多