次のコードを使用して、XMLを独立したストレージに作成して読み込みます。最初の部分ではファイルが存在しない場合は隔離されたストレージに作成され、存在しない場合は隔離されたストレージファイルに既に作成された/ロードされたファイルがロードされます。 問題は、関数が呼び出されたときに(正常に)作成/ロードされたファイルを読み込もうとするときです。コードはこちらXMLを独立したストレージにロードする
public void InitAch()
{
using (var storage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (!storage.FileExists("Achievements.xml"))
{
using (Stream stream = storage.OpenFile("Achievements.xml", FileMode.Create, FileAccess.Write))
{
XDocument xml = XDocument.Load("Achievements.xml");
xml.Save(stream,SaveOptions.None);
}
}
else
{
using (Stream stream = storage.OpenFile("Achievements.xml", FileMode.Open, FileAccess.Read))
{
XDocument xml = XDocument.Load(stream,LoadOptions.None);
Lexis.Page4.Achievements.sheep = Int32.Parse(xml.Root.Element("BlackSheep").Value);
Lexis.Page4.Achievements.singularity = Int32.Parse(xml.Root.Element("Singularity").Value);
Lexis.Page4.Achievements.luke = Int32.Parse(xml.Root.Element("LuckyLuke").Value);
Lexis.Page4.Achievements.gardener = Int32.Parse(xml.Root.Element("Gardener").Value);
Lexis.Page4.Achievements.dumbo = Int32.Parse(xml.Root.Element("Dumbo").Value);
Lexis.Page4.Achievements.joker = Int32.Parse(xml.Root.Element("Joker").Value);
Lexis.Page4.Achievements.maid = Int32.Parse(xml.Root.Element("Maid").Value);
Lexis.Page4.Achievements.mr = Int32.Parse(xml.Root.Element("MrWords").Value);
Lexis.Page4.Achievements.secret = Int32.Parse(xml.Root.Element("Detective").Value);
}
}
}
私はあなたの助けに感謝します。このコードで
正確にはどうなりますか?何か例外はありますか?私の最初の賭けは 'XDocument.Load'がファイルへのパスを知らないことです。 –