2011-08-31 11 views
1

ローカルxmlファイルを持っていて、アプリが隔離されたストレージにロードする必要があります。初めて始まります。しかし、ストリームまたはFile.Openを使用してそのファイルを開いている場合は、エラーがスローされます。 また、そのファイルをシリアル化された形式で保存する必要があります。 WP7とC#の新機能として、それを解読できないように助けてください。WP7でローカルxmlファイルを開きます

次のコードでは、XMLファイルを開くために使用されています。あなたが書き込みモードで開くことができませんので、

FileStream stream = new FileStream("site.xml", FileMode.Open); 
+0

あなたの状況をもう少し説明できますか?このファイルは既にデバイスに保存されていますか?それともあなたのアプリケーションプロジェクトですか?隔離されたストレージに保存しますか? –

+0

エラーメッセージを共有できますか? – Somnath

+0

はい、ファイルはアプリケーションプロジェクト内にあり、Isolated Storageに保存する必要があります。しかし、いつでも私はそのファイルを開いて、アプリケーションを実行します。 「メソッドにアクセスしようとしましたが失敗しました:System.IO.FileStream..ctor(System.String、System.IO.FileMode)」 – Dheeraj

答えて

1

あなたは、任意のコンテンツタイプのリソースのためにもFileAccessのモードを指定する必要があります。

はにあなたのコードを変更してみてください。

FileStream stream = new FileStream("site.xml", FileMode.Open, FileAccess.Read); 

また、この質問を参照してください。How to fix exception MethodAccessException during file reading?

+0

「コンテンツ」ファイルsite.xmlを次のように開くと、FileStream stream = new FileStream( "site.xml"、FileMode.Open); – Dheeraj

+0

私の更新された回答を参照してください。 –

2

ファイルがプロジェクトの一部である場合、あなたは、リソースとしてプロジェクトにファイルを追加することができます。つまり、ファイルの "Build Action""Resource"である必要があります。そして、以下の関数は、プロジェクトリソースからファイルを読み込むことができます。

Stream stream = this.GetType().Assembly.GetManifestResourceStream("Namespace.FileName.FileExtentation"); 

これでファイルの種類に応じてストリームを読むことができます。 XMLファイルの場合は、以下のように読むことができます。例えば、分離ストレージへの書き込みおよび分離ストレージからファイルを読み込む方法

XElement element = XElement.Load(stream); 
foreach (XElement phraseElement in element.Elements()) 
{ 
    MyClass foo = new foo(); 
    foreach (XAttribute attribute in phraseElement.Attributes()) 
     foo.Text = attribute.Value; 

} 

として

?また、Windows Phoneのローカルデータストレージに関する以下のリンクをチェックアウトすることができ、以下のリンク

http://www.codebadger.com/blog/post/2010/09/03/Using-Isolated-Storage-on-Windows-Phone-7.aspx

をチェックしてください。

http://msdn.microsoft.com/en-us/library/ff626522%28v=vs.92%29.aspx

関連する問題