从UWP应用中的应用数据中读取xml文件

时间:2016-09-08 00:08:19

标签: xml uwp appdata

我们有一个UWP应用程序。我想要解析一个XML文件,该文件将被另一个应用程序放入应用程序的添加数据中。 (我们的应用程序没有上传到商店,所以我们可以这样做。)

从我的UWP应用程序打开此文件的最佳方式是什么?我可以这样读它吗?

       <div className="container">
          <h1>
            TESTING
          </h1>
          <input
            className="form-control"
            id="input-field"
            placeholder='Enter Email'
          />
          <button
            type="submit"
            className="btn"
          >
            Register
          </button>
      </div>

我相信XML文件会放在StorageFile file =await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///" + xmlfile.xml));

这样的位置

感谢

1 个答案:

答案 0 :(得分:1)

您应该将文件保存在LocalState中应用程序包文件夹的TempStateAppData\Local\Packages子文件夹中(具体取决于文件的目的 - 持久性还是仅仅是临时性的)。

现在您有两个选项来访问该文件:

使用ApplicationData类

您可以使用以下方式访问LocalState文件夹:

var folder = ApplicationData.Current.LocalFolder;

TempState文件夹使用:

var folder = ApplicationData.Current.TemporaryFolder;

现在,这两个文件夹都是StorageFolder的正常实例,因此要获取文件,您只需致电:

var yourFile = await folder.GetFileAsync( yourFileName );

使用应用程序URI

或者,您可以使用特殊的应用程序URI来访问该文件。我提到的两个文件夹都分配了特殊的URI。

可以使用以下URI访问LocalState文件夹:

ms-appdata:///local/

TempState文件夹使用:

ms-appdata:///temp/

这意味着您可以使用以下内容从LocalState文件夹中获取文件:

var file = await StorageFile.GetFileFromApplicationUriAsync(
   new Uri("ms-appdata:///local/" + yourFileName) );

关于发布商缓存文件夹的注意事项

您可以使用第三个位置在应用之间共享文件。由于它们来自同一发布者,因此您可以使用发布商缓存文件夹来存储和读取文件。有关详细信息,请参阅此useful blogpost by Microsoft