.NET XML序列化助手类

时间:2009-08-17 13:18:53

标签: .net xml-serialization

我收集了之前的StackOverflow Q&那个

可以使用XmlSerializer类序列化以下项目:

  • 公共读/写属性和公共类的字段
  • 实现ICollection或IEnumerable的类
  • XmlElement对象
  • XmlNode对象
  • DataSet对象

我的问题是我们如何开发一个XmlSerialize Helper类,它将Generic Collection作为Xml序列化的参数。

2 个答案:

答案 0 :(得分:7)

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可序列化对象)

我不确定这是不是您要找的......如果没有,请详细说明您的需求

答案 1 :(得分:0)

http://www.codeproject.com/KB/XML/CustomXmlSerializer.aspx?msg=3101055

  

摘要:CustomXmlSerializer是一个   替代XmlSerializer,   支持浅和深   ArrayLists的序列化,   收藏和词典。