2009-08-17 3 views
2

Я собрал информацию от одного из предыдущих StackOverflow Q & А что.NET XML сериализации Helper Класс

Следующие элементы можно сериализовать с помощью XmlSerializer класс:

  • Общедоступные чтения свойства/записи и поля общественных классов
  • классов, реализующих ICollection или IEnumerable
  • XmlElement объекты
  • XMLnode O bjects
  • DataSet объекты

Мой вопрос заключается в том, как мы можем разработать класс XMLSERIALIZE Helper, который принимает Generic коллекции в качестве параметра для Xml сериализации.

+0

@rengaseshan: Я настоятельно рекомендую вам прочитать http://stackoverflow.com/editing-help и узнать, как его использовать. Многие из ваших вопросов трудно читать из-за использования HTML. –

+0

Не удалось взять и отредактировать стиль, список, опечатки. –

ответ

5
public class XmlSerializationHelper 
{ 
    public static void Serialize<T>(string filename, T obj) 
    { 
     XmlSerializer xs = new XmlSerializer(typeof(T)); 
     using (StreamWriter wr = new StreamWriter(filename)) 
     { 
      xs.Serialize(wr, obj); 
     } 
    } 

    public static T Deserialize<T>(string filename) 
    { 
     XmlSerializer xs = new XmlSerializer(typeof(T)); 
     using (StreamReader rd = new StreamReader(filename)) 
     { 
      return (T)xs.Deserialize(rd); 
     } 
    } 
} 

(это не специально для общих собраний, он работает для любого XML-сериализации объекта)

Я не уверен, если это то, что вы искали ... если нет, пожалуйста, подробно, что вам нужно

+0

Вот что именно я ищу! Большое спасибо. – user146584

+1

Это не будет работать для словарей. – Will

+2

@Will: вот почему я сказал «любой ** XML-сериализуемый ** объект» ... Словарь не является сериализуемым XML (если он не реализует IXmlSerializable, см. Эту ссылку: http://weblogs.asp.net/pwelter34/ архив/2006/05/03/444961.aspx) –

Смежные вопросы