private IRestResponse <T> SendRequest <T>(IRestRequest restRequest) where T : new() { IRestClient restClient = GetRestClient(); IRestResponse <T> restResponse = restClient.Execute <T>(restRequest); if (restResponse.ContentType.Equals("application/xml")) { var deserializer = new RestSharp.Deserializers.DotNetXmlDeserializer(); restResponse.Data = deserializer.Deserialize <T>(restResponse); } return(restResponse); }
public void testgetinxml_deseraialize() { IRestClient restClient = new RestClient(); IRestRequest restRequest = new RestRequest(url); restRequest.AddHeader("Accept", "application/xml"); //IRestResponse restResponse = restClient.Get(restRequest); //IRestResponse<List<JsonRootObject>> restResponse = restClient.Get<List<JsonRootObject>>(restRequest); //IRestResponse<List<JsonRootObject>> restResponse = restClient.Get<List<JsonRootObject>>(restRequest); var dotnetxmldeserializer = new RestSharp.Deserializers.DotNetXmlDeserializer(); IRestResponse restResponse = restClient.Get(restRequest); if (restResponse.IsSuccessful) { Console.WriteLine(restResponse.StatusCode); Assert.AreEqual(200, (int)restResponse.StatusCode); Console.WriteLine(restResponse.Content); LaptopDetailss xmldata = dotnetxmldeserializer.Deserialize <LaptopDetailss>(restResponse); Console.WriteLine("no of data" + xmldata.Laptop.Count); Laptop laptop = xmldata.Laptop.Find((x) => { return(x.Id.Equals("3", StringComparison.OrdinalIgnoreCase)); }); //List<JsonRootObject> jsondata = restResponse.Data; Assert.AreEqual(laptop.LaptopName, "Alienware M16"); Assert.IsTrue(laptop.Features.Feature.Contains("1 TB is added"), "Such entry does not exists"); } else { Console.WriteLine(restResponse.IsSuccessful); Console.WriteLine(restResponse.ErrorMessage); Console.WriteLine(restResponse.ErrorException); } }