簡體   English   中英

如何從Windows Store(Metro風格)應用程序中的XML資源讀取數據?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM