我有一个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;
}
}
这是有效的,但我并不觉得它是正确的。
答案 0 :(得分:0)
我现在找到了另一种方式。你可以尝试找另一个。
答案 1 :(得分:0)
这是引用应用程序内容的正确方法。您还可以将.resw文件添加到项目中,以便通过ResourceLoader存储用于在运行时加载的资源。
资源不同,因为它们被设计为对文化敏感,因此它们适用于按钮文本值的翻译等。
如果您不需要此功能,那么使用Build Action“Content”添加的资产是完美的,您可以使用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