2012-12-09 34 views
1

我试图从WP7中的XML文档中读取,并遇到了一个奇怪的错误,我只是不明白,当我运行我的程序时从重新启动WP7模拟器后的第一次,但如果我在调试中运行它而不关闭模拟器,它会给我提供运行时错误:'XmlException未处理在应用程序xap软件包中找不到'appdata.xml'文件。因为我检查,看看是否存在该文件第一这是奇怪的:虽然检查文件是否存在,但是WP7-错误'XmlException未处理'

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(); 
    } 
} 

感谢 - 莱恩

回答

4

要传递到XDocument.Load名称“appdata.xml”没有任何参考IsolatedStorage卖场里的文件确实存在。

你应该写这样的事情

XDocument loadedData = XDocument.Load(store.OpenFile("appdata.xml", FileMode.Open)); 
+0

谢谢:)我在我保存功能打开该文件作为IsolatedStorageFileStream虽然我现在得到的错误,我该如何关闭该文件后,我读它,因为我没有看到store.close()或loadedData.close()函数?谢谢 – TotalJargon

+0

任何人都可以帮忙吗? – TotalJargon

+0

你会在哪一行中得到异常和异常? – Steve

相关问题