我正在尝试为我的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文件的内容。
答案 0 :(得分:4)
试试这个......
var uri = new Windows.Foundation.Uri('ms-appx:///myFolder/myConfig.xml');
var file = Windows.Storage.StorageFile.getFileFromApplicationUriAsync(uri);
您现在可以根据需要使用该文件来解析和处理数据。