2012-02-14 9 views
0

Windows Phone 7 Mangoでアプリケーションを作成しています。アプリケーションをロードすると、MainViewModelは隔離されたストレージのファイルからすべての情報をロードします。WP7 - 隔離されたストレージでXMLファイルのデシリアライズ

private ObservableCollection<KasutajadViewModel> LoadUsers() 
    { 
     ObservableCollection<KasutajadViewModel> kasutajad = new ObservableCollection<KasutajadViewModel>(); 
     try 
     { 
      using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
      { 
       using (IsolatedStorageFileStream stream = myIsolatedStorage.OpenFile("Kasutajad.xml", FileMode.Open)) 
       { 
        XmlSerializer serializer = new XmlSerializer(typeof(ObservableCollection<PiletViewModel>)); 
        //ObservableCollection<KasutajadViewModel> data 
        kasutajad = 
         (ObservableCollection<KasutajadViewModel>)serializer.Deserialize(stream); 
        stream.Close(); 
       } 
      } 
     } 
     catch (Exception) 
     { 

     } 
     return kasutajad; 
    } 

デシリアライザはデータを返さないという問題があります。 もそれから読み取り、XMLファイルは次のようであるとき:SaveUsers機能によって生成さが、私はこれが問題のために冗長であると考えている

<?xml version="1.0" encoding="utf-8"?> 
<ArrayOfKasutajadViewModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
<KasutajadViewModel> 
    <Nimi>Reigo Hein</Nimi> 
    <Isikukood>96952422597</Isikukood> 
</KasutajadViewModel> 
</ArrayOfKasutajadViewModel>  

。 LoadUsersはストリームを正しくロードしますが、デシリアライズでは必要なデータは出力されません。

誰でもお手伝いできます、ありがとうございます。

答えて

1

ObservableCollectionがPiletViewModelのXmlSerializerを作成していますが、KasutajadViewModelの配列を逆シリアル化しています。ここに型の不一致があります。

関連する問題