最近做一个维护项目,是用VS2003开发的,我晕。现在都用VS2008吧。
前几天遇到一个小问题,就是对象序列化的,要把一个类序列化成一个xml字符串,在2005里面我们可以用XmlWriter,而在2003里面,貌似不行。没办法,自己摸索先,终于找到了一个办法,如下代码:
public string Serialize(object obj,Type t) { UTF8Encoding utf8Encoding = new UTF8Encoding(false); byte[] utf8EncodedData = null; XmlSerializer serializer = new XmlSerializer(t); using (MemoryStream memStrm = new MemoryStream()) { XmlTextWriter xmlSink = new XmlTextWriter(memStrm, utf8Encoding); serializer.Serialize(xmlSink, obj); xmlSink.BaseStream.Position = 0; utf8EncodedData = new byte[xmlSink.BaseStream.Length]; xmlSink.BaseStream.Read(utf8EncodedData, 0, (int)xmlSink.BaseStream.Length); } if (null != utf8EncodedData && 0 < utf8EncodedData.Length) { string text = utf8Encoding.GetString(utf8EncodedData); return text; } return string.Empty; }
感觉还可以。嘿嘿