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 に答える