string ADODBxml = @" "; Type adoStreamType = Type.GetTypeFromProgID("ADODB.Stream"); object adoStream = Activator.CreateInstance(adoStreamType); adoStreamType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, adoStream, new object[] {}); adoStreamType.InvokeMember("WriteText", System.Reflection.BindingFlags.InvokeMethod, null, adoStream, new object[] { ADODBxml }); adoStreamType.InvokeMember("Position", System.Reflection.BindingFlags.SetProperty, null, adoStream, new object[] { 0 }); Type adoRecordsetType = Type.GetTypeFromProgID("ADODB.Recordset"); object adoRecordset = Activator.CreateInstance(adoRecordsetType); adoRecordsetType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, adoRecordset, new object[] {adoStream}); OleDbDataAdapter odb = new OleDbDataAdapter(); DataSet ods = new DataSet(); odb.Fill(ods, adoRecordset, "data"); foreach(DataTable t in ods.Tables){ Console.Write(""); foreach(DataRow r in t.Rows){ foreach(DataColumn c in t.Columns){ Console.Write("\n"); } } Console.Write("
" + c + " " + r[c] + "
"); }