我正在使用fogbugz XML API获取一些数据。该API始终以UTF-8格式提供数据。
当使用
最后,这里是来自XML响应的摘录:
当使用
WebClient
类进行请求时,我可以设置编码方式。例如:var result = new WebClient();
result.Encoding = Encoding.UTF8;
但是 HttpClient
类呢?
HttpClient client = new HttpClient();
我应该使用:
client.GetByteArrayAsync(url);
...然后将编码(UTF-8)的字节转换为字符串吗?
还是有一种直接获取内容作为UTF-8字符串的方法吗?
using (var client = Connector.GetHttpClient())
{
var byteData = await client.GetByteArrayAsync(url);
data = Encoding.UTF8.GetString(byteData);
}
最后,这里是来自XML响应的摘录:
<?xml version="1.0" encoding="UTF-8"?>
<response>
MemoryStream
来包装字节数组。) - Jon SkeetXElement.Parse
解析数据,那么在解析完数据后可以立即将其丢弃。但如果你从中创建了一个XmlReader
,那就不同了,因为它会保留对流的引用,所以只有在需要数据时才能读取它。 - Jon Skeet