Стандартные либы (SyndicationFeed и т.п.) не подходят.
Надо написать либу для парсинга.
Я предоставлю десяток файлов в качестве примера исходных данных.
Парсер должен распарсить:
Item
{
required string Id { get; set; }
required string Title { get; set; }
string Html { get; set; }
string[] Tags { get; set; }
required Uri Url { get; set; }
DateTimeOffset PublishDate { get; set; }
ParsedImage? PreviewImage { get; set; }
}
Image
{
required string PlaceholderId { get; set; }
Uri? OriginalUrl { get; set; }
required byte[] Image{ get; set; }
}
Html должен быть валидным, зачастую достаточно убрать экранирование.
Также нужны тесты на каждый выданный файл - успешность парсинга.
Также нужны тесты на утечки памяти.
Код должен работать в докере.
Необходимо минимизировать расход памяти. Можно пожертвовать расходом по процессору.
Либа всегда будет использоваться для парсинга ровно одного фида в один момент времени, тут не будет многопоточности.