Ejemplo n.º 1
0
        public virtual byte[] SerializeToBytes(object o)
        {
            if (o == null)
            {
                return(null);
            }
            var ds = o as DataSet;

            if (ds != null)
            {
                return(SerializeDataSet(ds));
            }
            var dt = o as DataTable;

            if (dt != null)
            {
                return(SerializeDataTable(dt));
            }
            using (var ms = new MemoryStream())
            {
                var ns  = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty });
                var xs  = new XmlSerializer(o.GetType());
                var xtw = new NoDeclarationXmlTextWriter(ms, Encoding.UTF8);
                xtw.Formatting = Formatting.None;
                xtw.Namespaces = true;
                var xws = new XmlWriterSettings();
                xws.OmitXmlDeclaration = true;
                var xw = XmlWriter.Create(xtw, xws);
                xs.Serialize(xw, o, ns);
                return(ms.ToArray());
            }
        }
Ejemplo n.º 2
0
 private byte[] SerializeDataSet(DataSet ds)
 {
     if (ds == null)
     {
         return(null);
     }
     using (var ms = new MemoryStream())
     {
         var xtw = new NoDeclarationXmlTextWriter(ms, Encoding.UTF8);
         xtw.Formatting = Formatting.None;
         xtw.Namespaces = true;
         var xws = new XmlWriterSettings();
         xws.OmitXmlDeclaration = true;
         var xw = XmlWriter.Create(xtw, xws);
         ds.WriteXml(xw, XmlWriteMode.WriteSchema);
         return(ms.ToArray());
     }
 }