2

我有一个 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;
    }
}

这行得通,但我不确定它是否正确。

4

2 回答 2

0

我没有找到其他方法。你可以试试再找一个。

于 2012-09-19T08:59:37.973 回答
0

这是在应用程序中引用内容的正确方法。您还可以通过 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

于 2013-04-30T13:11:45.133 回答