xml - WPF,C#获取响应xml到对象
问题描述
我可以 Json DeserializeObject,使用'Newtonsoft.json'
这
using (HttpClient client = new HttpClient())
{
var response = await client.GetAsync(url);
string json = await response.Content.ReadAsStringAsync();
/// Add Nuget 'Newtonsoft.json'
/// Json DeserializeObject
try
{
weathers = JsonConvert.DeserializeObject<WeatherModel>(json);
weatherList.Add(weathers);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message + ": error");
}
}
但我无法将 Xml 数据响应到 DeserializeObject
我试着
using (HttpClient client = new HttpClient())
{
var response = await client.GetAsync(url);
string json = await response.Content.ReadAsStringAsync();
StreamReader xmlReader = new StreamReader(json); // Can't... Error
try
{
weathers = ???; // How to DeserializeObject ??
weatherList.Add(weathers);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message + ": error");
}
}
return weathers;
有没有我可以使用的 Nuget,或者有没有办法将响应的 xml 用于 DeserializeObject?
解决方案
使用XmlSerializer
.
string xmlData = await response.Content.ReadAsStringAsync();
using (TextReader reader = new StringReader(xmlData))
{
XmlSerializer serializer = new XmlSerializer(typeof(WeatherModel));
try
{
weathers = (WeatherModel)serializer.Deserialize(reader);
weatherList.Add(weathers);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + ": error");
}
}
推荐阅读
- cassandra - 使用列表创建用户类型
在卡桑德拉 - php - 如何获取以前交易的物品 paypal omnipay
- javascript - 在使用 jasmine 记者时,我得到“未找到规范”
- javascript - 在表格的每一行中选择第四个 td 并转换数据
- neo4j - 在 Cypher 查询中选择两个节点之一
- .net - 从 dotnet 应用程序中部署 SSRS 报告
- javascript - Mongoose findOneAndUpdate 只返回新的 $push 文档
- symfony - 在学说查询生成器中首先选择完全匹配
- angular - 如何在 Angular 2+ 中初始化 Datatable,而不使用 JQuery
- jquery - Jquery UI 布局在打字稿中不起作用