WPF, C# Получить ответ xml на объект - PullRequest
0 голосов
/ 20 марта 2020

Я могу Json DeserializeObject, используйте 'Newtonsoft. json'

this

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?

1 Ответ

0 голосов
/ 20 марта 2020

Использование 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");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...