Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: Вопрос по сериализации
     
    
Добавлено: 17.02.10 07:12
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 mig84
      
       
  
Здравствуйте! Столкнулся с проблемой - нужно сохранить объект класса в файл (желательно XML, но в принце можно и в любой другой), в этом объекте присутствует ArrayList, который в свою очередь заполнен объектами другого класса.
 
    
Сериализация работает с использованием SoapFormatter, а вот XMLSerializer - к сожалению, нет (после нескольких безуспешных попыток, я обнаружил упоминание в справке о том, что XMLSerializer не работает с ArrayList).
А проблема, собственно, в том, что SoapFormatter включает в XML, ссылку на сборку, что меня не устраивает...
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 7
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 EROS
![]()
![]()
![]()
![]()
Вопросов: 58
Ответов: 4255
 Профиль |  | #1
       
Добавлено:  17.02.10 08:18
       
    
       
  
 
    
вы неверно истолковали прочитанное.. дело в том, что XMLSerializer не знает как работать с коллекциями. Все, что необходимо вам сделать это задать соответствующий аттрибут для коллекции в т.ч. и для ArrayList
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 mig84
![]()
![]()
![]()
![]()
![]()
Вопросов: 1
Ответов: 5
      
 Профиль |  | #2
       
Добавлено:  17.02.10 08:52
       
    
       
  
Спасибо за пояснение! Сейчас попробую.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 mig84
![]()
![]()
![]()
![]()
![]()
Вопросов: 1
Ответов: 5
      
 Профиль |  | #3
       
Добавлено:  17.02.10 10:43
       
    
       
  
Все работает!  
    
Жаль только, что в vb немного другой синтаксис для XML атрибутов. Какой-то неудобочитаемый, на мой взгляд. 
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 EROS
![]()
![]()
![]()
![]()
Вопросов: 58
Ответов: 4255
 Профиль |  | #4
       
Добавлено:  17.02.10 10:49
       
    
       
  
 
    
ну это уже дело вкуса.. лично мне VB вообще не нравится из за громоздкости конструкций, поэтому я его и не использую...
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 mig84
![]()
![]()
![]()
![]()
![]()
Вопросов: 1
Ответов: 5
      
 Профиль |  | #5
       
Добавлено:  17.02.10 12:40
       
    
       
  
еще один вопрос возник - как поступить, если в одном из полей сериализуемого объекта содержится массив?
 
    
вот например
выдает ошибку "Возникла ошибка при отражении типа "WindowsApplication1.MyClass"."
если в MyClass:
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 EROS
![]()
![]()
![]()
![]()
Вопросов: 58
Ответов: 4255
 Профиль |  | #6
       
Добавлено:  17.02.10 15:53
       
    
       
  
See inner exception...
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа:
 mig84
![]()
![]()
![]()
![]()
![]()
Вопросов: 1
Ответов: 5
      
 Профиль |  | #7
       
Добавлено:  18.02.10 05:11
       
    
       
  
Жаль. А вот SoapFormatter может проводить сериализацию таких классов. Одна проблема - привязывается к сборке.