将Web Api响应保存到Xml文档

时间:2012-08-16 08:20:59

标签: asp.net-mvc-3 asp.net-web-api

我有以下代码来使用Web Api并获得响应。

HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("http://localhost:44522/");

        // Add an Accept header for XML format.
        client.DefaultRequestHeaders.Accept.Add(
            new MediaTypeWithQualityHeaderValue("application/xml"));

        IEnumerable<Product> products = new List<Product>();

        HttpResponseMessage resp = client.GetAsync("api/admin").Result;
        if (resp.IsSuccessStatusCode)
        {
            // Parse the response body. 
            products = resp.Content.ReadAsAsync<IEnumerable<Product>>().Result;
        }

我在这里获得产品清单。但是,我没有将产品放入列表中,而是希望将响应写入Xml文档。

有人可以就此提出建议吗?

感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用ReadAsByteArrayAsync()

var ms = new MemoryStream(resp.Content.ReadAsByteArrayAsync().Result);
var doc = new XmlDocument();
doc.Load(ms);

答案 1 :(得分:0)

您也可以尝试使用http://restsharp.org/

之类的内容