如何在Windows应用商店(Metro Style)应用程序中从XML资源中读取数据



我有一个windows商店应用程序。我有一个包含数据的XML文件。我需要将此文件添加为我的应用程序的资源。我需要从这个文件中读取数据到XDocument。

1) 当将XML文件添加到项目中时,我应该设置什么生成操作?(我认为这是"内容")

2) 如何从该XML文件中获取XDocument对象?

2小时后,我得到了这个代码:

public static class DataLoader {
    public static XDocument LoadFromXmlResource(string path){
        path.Replace('\', '/');
        path.TrimEnd('/');
        string uriPath = "ms-appx:///MyApp/" + path;
        Task<StorageFile> operation = StorageFile.GetFileFromApplicationUriAsync(new Uri(uriPath)).AsTask<StorageFile>();
        StorageFile file = operation.Result;
        Task<string> fileReadingTask = FileIO.ReadTextAsync(file).AsTask<string>();
        string fileContent = fileReadingTask.Result;
        XDocument result = XDocument.Parse(fileContent, LoadOptions.None);
        return result;
    }
}

这是有效的,但我不相信它是正确的。

这是引用应用程序中内容的正确方法。您还可以通过ResourceLoader将.resw文件添加到项目中,以存储在运行时加载的资源。

资源不同,因为它们被设计为对文化敏感,所以它们适合翻译按钮文本值等。

如果您不需要此功能,那么添加了构建操作"内容"的资产是完美的,您可以使用ms-appx或ms-appdata URI方案来解决这些问题。

通过ms-appx 的包内容

http://msdn.microsoft.com/en-us/library/windows/apps/Hh781215.aspx

通过ms-appdata 的可变数据

http://msdn.microsoft.com/en-us/library/windows/apps/hh464917.aspx

-和-

http://msdn.microsoft.com/en-us/library/windows/apps/Hh781229.aspx

我没有其他办法了。你可以试着找到另一个。

相关内容

  • 没有找到相关文章

最新更新