Example #1
0
 public virtual object Deserialize(byte[] bytes, Type type)
 {
     if (bytes == null || bytes.Length == 0)
     {
         return(null);
     }
     if (type == typeof(DataSet))
     {
         return(DeserializeDataSet(bytes));
     }
     if (type == typeof(DataTable))
     {
         return(DeserializeDataTable(bytes));
     }
     using (var ms = new MemoryStream(bytes))
     {
         var xs  = new XmlSerializer(type);
         var xtr = new NoDeclarationXmlTextReader(ms, Encoding.UTF8);
         xtr.Namespaces = false;
         var xrs = new XmlReaderSettings();
         xrs.IgnoreComments = true;
         xrs.IgnoreProcessingInstructions = true;
         xrs.IgnoreWhitespace             = true;
         var xr = XmlReader.Create(xtr, xrs);
         return(xs.Deserialize(xr));
     }
 }
Example #2
0
 private DataSet DeserializeDataSet(byte[] bytes)
 {
     if (bytes == null || bytes.Length == 0)
     {
         return(null);
     }
     using (var ms = new MemoryStream(bytes))
     {
         var xtr = new NoDeclarationXmlTextReader(ms, Encoding.UTF8);
         xtr.Namespaces = false;
         var xrs = new XmlReaderSettings();
         xrs.IgnoreComments = true;
         xrs.IgnoreProcessingInstructions = true;
         xrs.IgnoreWhitespace             = true;
         var xr = XmlReader.Create(xtr, xrs);
         var ds = new DataSet {
             EnforceConstraints = false
         };
         ds.ReadXml(xr, XmlReadMode.ReadSchema);
         return(ds);
     }
 }