我尝试从Windows应用程序中读取xml文件。 在这一篇中,我在Assets / Mocks / clubic.xml(构建操作:内容)中添加一个文件夹,以将xml文件中的数据用作模拟。 所以我尝试使用以下代码
var package = Windows.ApplicationModel.Package.Current;
var installedLocation = package.InstalledLocation;
try
{
StorageFile sampleFile = await installedLocation.GetFileAsync("Assets/Mocks/clubic.xml");
}
catch (Exception ex)
{
throw ex;
}
try
{
StorageFile sampleFile = await installedLocation.GetFileAsync("ms-appx:///Assets/Mocks/clubic.xml");
}
catch (Exception ex)
{
throw ex;
}
我获得了两个案例,同样的例外 System.ArgumentException:值不在预期范围内。 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 在FileReadWrite.MainPage.d__17.MoveNext()}
我尝试使用此代码
StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
if (local != null)
{
// Get the DataFolder folder.
var dataFolder = await local.GetFolderAsync("Assets/Mocks");
// Get the file.
var file = await dataFolder.OpenStreamForReadAsync("clubic.xml");
// Read the data.
using (StreamReader streamReader = new StreamReader(file))
{
this.textBlock1.Text = streamReader.ReadToEnd();
}
}
我仍然得到同样的问题。 你能帮帮我吗?
最好的问候, 亚历山大
答案 0 :(得分:4)
试试这个
StorageFile sampleFile = await installedLocation.GetFileAsync( @“Assets \ Mocks \ clubic.xml”);
答案 1 :(得分:3)
以下是我在我的应用中所做的事情,以阅读内容构建的文件:
var resource = System.Windows.Application.GetResourceStream(new Uri(@"Assets\Mocks\clubic.xml", UriKind.Relative));
using (StreamReader sr = new StreamReader(resource.Stream)) {
this.textBlock1.Text = await sr.ReadToEndAsync();
}