2012-02-14 1 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; 
    } 

문제는 deserializer가 데이터를 반환하지 않는다는 것입니다. 은 심지어에서 읽는 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가 스트림을 올바르게로드하지만 deserialization이 필요한 데이터를 출력하지 않습니다.

누구든지 나를 도울 수 있기를 바랍니다. 감사합니다.

답변

1

ObservableCollection이 PiletViewModel 인 XmlSerializer를 만들고 있는데 KasutajadViewModel의 배열을 deserialize하려고합니다. 유형 불일치가 있습니다.