WP7 で XML ドキュメントから読み取ろうとしているのですが、WP7 エミュレーターを再起動した後に初めてプログラムを実行したときに、単に得られない奇妙なエラーが発生しましたが、デバッグで実行すると、エミュレーターを閉じると、実行時エラーが表示されます:「XmlException was unhandled Cannot find file 'appdata.xml' in the application xap package.」最初にファイルが存在するかどうかを確認するため、これは奇妙です。
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
if (store.FileExists("appdata.xml"))
{
XDocument loadedData = XDocument.Load("appdata.xml"); // <-- runtime error
//code for parsing xml to variables
}
}
if ステートメントに入るので、ファイルは存在するはずですが、XDocument は何らかの理由でそれを好まないので、何かアイデアはありますか?
詳細については、アプリでボタンをタップしたときにデータを保存する方法を次に示します。また、この関数が呼び出されていない場合、エラーは発生しません。
private void SaveData()
{
rulesData = new AppData(StartCashRule.Text, LandGoRule.Text, FreeParkingRule.Text, FullCircuitRule.Text, AuctionRule.Text);
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
IsolatedStorageFileStream ifStream = new IsolatedStorageFileStream("appdata.xml", FileMode.OpenOrCreate, store);
using (XmlWriter writer = XmlWriter.Create(ifStream))
{
writer.WriteStartDocument();
writer.WriteStartElement("myData");
writer.WriteElementString("Starting_Cash", rulesData.myStartingCash);
writer.WriteElementString("Land_on_Go_Data", rulesData.myLandOnGo);
writer.WriteElementString("Free_Parking_Data", rulesData.myFreeParking);
writer.WriteElementString("Full_Circuit_Data", rulesData.myFullCircuit);
writer.WriteElementString("Auction_Data", rulesData.myAuction);
writer.WriteEndElement();
writer.WriteEndDocument();
}
ifStream.Close();
}
}
ありがとう - ライアン