Пытаюсь десериализовать XML:
void C()
{
var request = (HttpWebRequest)WebRequest.Create("https://fakerestapi.azurewebsites.net/api/Activities");
request.Headers.Clear();
request.ContentType = "application/xml";
var document = new XmlDocument();
var result = new List<Activity>();
using (Stream stream = request.GetResponse().GetResponseStream())
{
result = (List<Activity>)new XmlSerializer(typeof(List<Activity>)).Deserialize(reader);
}
}
Вот сам класс
public class Activity
{
[XmlElement("Completed")]
public bool Completed { get; set; }
[XmlElement("DueDate")]
public DateTime DueDate { get; set; }
[XmlElement("ID")]
public int Id { get; set; }
[XmlElement("Title")]
public string Title { get; set; }
}
Вот тут можно ознакомится с XML
Вылетает ошибка:
В документе xml (1, 2) присутствует ошибка
Вы не описали пространство имён.
Попробуйте так:
var root = new XmlRootAttribute("ArrayOfActivity")
{
Namespace = "http://schemas.datacontract.org/2004/07/FakeRestAPI.Web.Models"
};
var seri = new XmlSerializer(typeof(List<Activity>), root);
result = (List<Activity>)seri.Deserialize(s);
(и XmlSerializer лучше закешировать, а не создавать много раз).
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости