无法从文件加载XML

时间:2014-04-15 09:01:17

标签: c# windows-store-apps

这里有什么问题?它抛出ArgumentException

var xmlDocument = await XmlDocument.LoadFromUriAsync(new Uri("ms-appx:///LiveTiles/Templates.xml"));

是否有更简单的方法从文件加载XML?

谢谢!

1 个答案:

答案 0 :(得分:1)

Windows RT在操作文件时有点特别,我强烈推荐这篇博文:

http://blog.jerrynixon.com/2012/06/windows-8-how-to-read-files-in-winrt.html

取自链接:

// settings
// same as (ms-appx:///MyFolder/MyFile.txt)
var _Folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
_Folder = await _Folder.GetFolderAsync("MyFolder");

// acquire file
var _File = await _Folder.GetFileAsync("MyFile.txt");
Assert.IsNotNull(_File, "Acquire File");

// write content
var _WriteThis = "Hello World";
await Windows.Storage.FileIO.WriteTextAsync(_File, _WriteThis);

或者为了简化它,可以采用另一种方法:

  

{

    StorageFolder storageFolder = Package.Current.InstalledLocation;

    StorageFile storageFile = await storageFolder.GetFileAsync("BasicData.xml");



    XmlTextBlock.Text = await FileIO.ReadTextAsync(storageFile, Windows.Storage.Streams.UnicodeEncoding.Utf8);



}

catch (Exception ex)

{

    XmlTextBlock.Text = ex.Message;

}