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()); } }
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()); } }