[英]How to read data from XML resource in Windows Store (Metro Style) app?
我有一個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;
}
}
這行得通,但我不確定它是正確的。
我沒有另一種方式。 您可以嘗試找到另一個。
這是在應用程序中引用內容的正確方法。 您還可以將.resw文件添加到項目中,以存儲資源,以通過ResourceLoader在運行時加載。
資源不同,因為它們被設計為對文化敏感,因此它們對於按鈕文本值的翻譯等非常有用。
如果不需要此功能,則添加了帶有“操作”“內容”的資產是完美的,您可以使用ms-appx或ms-appdata URI方案來解決這些問題。
通過ms-appx打包內容
http://msdn.microsoft.com/zh-CN/library/windows/apps/Hh781215.aspx
通過ms-appdata的可變數據
http://msdn.microsoft.com/zh-CN/library/windows/apps/hh464917.aspx
-和-
http://msdn.microsoft.com/zh-CN/library/windows/apps/Hh781229.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.