Code
CompositeType vCompositeType = new CompositeType();
XmlSerializer vSerializer = new XmlSerializer(vCompositeType.GetType());
MemoryStream vStream = new MemoryStream();
vSerializer.Serialize(vStream, vCompositeType);
byte[] vXmlBytes = new byte[vStream.Length];
vStream.Seek(0, 0);
vStream.Read(vXmlBytes, 0, vXmlBytes.Length);
vStream.Close();
string vResult = System.Text.Encoding.UTF8.GetString(vXmlBytes);
以上代码,如果不追加vStream.Seek,则将读取不到有效信息。
因为一开始vStream的指针就在最后了,而vStream.Read方法里的StartPos只是一个偏移位置,不是绝对位置。