代码如下:

  /// <summary>
        /// 把对象序列化为xml字符串
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj">object</param>
        /// <param name="encoding">编码方式</param>
        /// <param name="namespaces">是否有默认的命名空间串</param>
        /// <returns></returns>
        public static string SerializeObject<T>(T obj, Encoding encoding, bool namespaces = false)
        {
            if (obj != null)
            {
                if (encoding == null)
                    encoding = Encoding.UTF8;
                using (MemoryStream ms = new MemoryStream())
                {
                    using (XmlTextWriter textWriter = new XmlTextWriter(ms, encoding))
                    {
                        XmlSerializer serializer = new XmlSerializer(typeof(T));
                        if (namespaces)
                            serializer.Serialize(textWriter, obj);
                        else
                        {
                            XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
                            ns.Add("", "");
                            serializer.Serialize(textWriter, obj, ns);
                        }
                    }
                    return encoding.GetString(ms.GetBuffer());
                }
                  
            }
            else
            {
                return String.Empty;
            }
        }