如何使用RestClient下载XML
本文关键字:XML 下载 RestClient 何使用 | 更新日期: 2023-09-27 18:28:44
我有一个包含有效xml的url,但不确定如何使用RestClient检索它。我想我可以下载字符串,然后像使用WebClient一样解析它。
操作:
public static Task<String> GetLatestForecast(string url)
{
var client = new RestClient(url);
var request = new RestRequest();
return client.ExecuteTask<String>(request);
}
使VS哭诉"string"必须是具有公共无参数构造函数的非抽象类型。
参见executetask:
namespace RestSharp
{
public static class RestSharpEx
{
public static Task<T> ExecuteTask<T>(this RestClient client, RestRequest request)
where T : new()
{
var tcs = new TaskCompletionSource<T>(TaskCreationOptions.AttachedToParent);
client.ExecuteAsync<T>(request, (handle, response) =>
{
if (response.Data != null)
tcs.TrySetResult(response.Data);
else
tcs.TrySetException(response.ErrorException);
});
return tcs.Task;
}
}
}
感谢Claus Jørgensen btw关于Live Tiles的精彩教程
我只想下载这个字符串,因为我已经有一个解析器在等待它解析:-)
如果你只想要一个字符串,只需使用这种方法:
namespace RestSharp
{
public static class RestSharpEx
{
public static Task<string> ExecuteTask(this RestClient client, RestRequest request)
{
var tcs = new TaskCompletionSource<string>(TaskCreationOptions.AttachedToParent);
client.ExecuteAsync(request, response =>
{
if (response.ErrorException != null)
tcs.TrySetException(response.ErrorException);
else
tcs.TrySetResult(response.Content);
});
return tcs.Task;
}
}
}