6

我正在尝试为我的 WinRT 实验设置一些特定于应用程序的项目(例如 API 密钥)的配置文件。

到目前为止,我在项目的根目录中添加了一个“config.xml”文件,将其标记为属性中的资源……然后我就卡住了。

我能找到的每个示例似乎都处理 JSON 资源文件(它们在某种程度上与约定的本地化相关,并且似乎不适合一般配置内容?),从磁盘加载文件(由于资源被编译,这不起作用进入 .pri 文件),或使用 C#。

那么如何在我的 Javascript/HTML5 应用程序中进行这项工作呢?

我最近的尝试是这样的:

var uri = new Windows.Foundation.Uri('ms-resource:///config');
var xml = Windows.ApplicationModel.Resources.ResourceLoader
                                            .getStringForReference(uri);

但这不起作用并引发以下异常:

0x80073b1f - JavaScript runtime error: ResourceMap Not Found.

我错过了什么?


我觉得我越来越近了:

var r = Windows.ApplicationModel.Resources.Core.ResourceManager
               .current.mainResourceMap.lookup('Files/config.xml');
var candidates = r.resolveAll();
candidates[0].getValueAsFileAsync().done(readXml);

这会找到文件资源,但候选包含的只是文件的原始绝对路径,因此getValueAsFileAsync()会抛出异常“系统找不到指定的文件”。(并且readXml没有调用回调)。

所以我似乎仍然无法获得这个 XML 文件的内容

4

1 回答 1

4

尝试这个...

var uri = new Windows.Foundation.Uri('ms-appx:///myFolder/myConfig.xml');
var file = Windows.Storage.StorageFile.getFileFromApplicationUriAsync(uri);

您现在可以根据需要使用该文件来解析和处理数据。

于 2012-09-27T12:24:52.663 回答