public static DescribeDatabasesResponse Unmarshall(UnmarshallerContext context) { DescribeDatabasesResponse describeDatabasesResponse = new DescribeDatabasesResponse(); describeDatabasesResponse.HttpResponse = context.HttpResponse; describeDatabasesResponse.RequestId = context.StringValue("DescribeDatabases.RequestId"); List<DescribeDatabasesResponse.Database> databases = new List<DescribeDatabasesResponse.Database>(); for (int i = 0; i < context.Length("DescribeDatabases.Databases.Length"); i++) { DescribeDatabasesResponse.Database database = new DescribeDatabasesResponse.Database(); database.DBName = context.StringValue("DescribeDatabases.Databases["+ i +"].DBName"); database.DBInstanceId = context.StringValue("DescribeDatabases.Databases["+ i +"].DBInstanceId"); database.Engine = context.StringValue("DescribeDatabases.Databases["+ i +"].Engine"); database.DBStatus = context.EnumValue<DescribeDatabasesResponse.Database.DBStatusEnum>("DescribeDatabases.Databases["+ i +"].DBStatus"); database.CharacterSetName = context.StringValue("DescribeDatabases.Databases["+ i +"].CharacterSetName"); database.DBDescription = context.StringValue("DescribeDatabases.Databases["+ i +"].DBDescription"); List<DescribeDatabasesResponse.Database.AccountPrivilegeInfo> accounts = new List<DescribeDatabasesResponse.Database.AccountPrivilegeInfo>(); for (int j = 0; j < context.Length("DescribeDatabases.Databases["+ i +"].Accounts.Length"); j++) { DescribeDatabasesResponse.Database.AccountPrivilegeInfo accountPrivilegeInfo = new DescribeDatabasesResponse.Database.AccountPrivilegeInfo(); accountPrivilegeInfo.Account = context.StringValue("DescribeDatabases.Databases["+ i +"].Accounts["+ j +"].Account"); accountPrivilegeInfo.AccountPrivilege = context.StringValue("DescribeDatabases.Databases["+ i +"].Accounts["+ j +"].AccountPrivilege"); accounts.Add(accountPrivilegeInfo); } database.Accounts = accounts; databases.Add(database); } describeDatabasesResponse.Databases = databases; return describeDatabasesResponse; }