我正在构建一个Windows Phone 8.1 RT应用程序,它在后台任务中运行MP3文件。
我按照此处显示的示例代码中的步骤操作:http://code.msdn.microsoft.com/windowsapps/BackgroundAudio-63bbc319
在MyPlaylistManager项目中,我想从XML文件构建自己的播放列表。
当我尝试访问此XML文件时,我收到异常。
类型' System.Xml.XmlException'的例外情况发生在SYSTEM.XML.NI.DLL中,但未在用户代码中处理
其他信息:发生了内部错误。
我已将XML文件添加到Project并设置
构建操作:内容
复制到输出目录:如果更新则复制
要访问我在下面的选项中累了的文件:
XDocument xdoc = XDocument.Load("ms-appx:///XYZ.xml");
XDocument xdoc = XDocument.Load("XYZ.xml");
根据文档,Windows Phone 8.1支持XDocument.Load: http://msdn.microsoft.com/en-us/library/bb343181(v=vs.110).aspx
关于我做错了什么的任何指示。 感谢。
答案 0 :(得分:1)
我认为问题在于,因为您没有提供正确的路径。您的文件位于项目 MyPlaylistManager 中。尝试使用:
XDocument xdoc = XDocument.Load("ms-appx:///MyPlaylistManager/Quran.xml");
// or like this:
StorageFile file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"MyPlaylistManager\Quran.xml");
另外不要忘记在参考文献中包含 MyPlaylistManager 。也许this answer也会有所帮助。
编辑 - 您也可以尝试使用XDocument.Load(Stream) - 然后在您的 BackgroundTask 中首先获取 StorageFile 然后加载 XDocument 使用 Stream 从文件中获取。