Вопрос

Я пытаюсь взять RSS-канал и десериализовать его в список объектов RSSentry.

var Client = new RestClient("url here");
Request = new RestRequest { RequestFormat DataFormat.Xml };
var response = Client.Execute<Channel>(Request);
return response.Data.Item;
.

Это заполняет все, кроме контента, которое содержит CDATA

channel.cs

 public class Channel
 {
    public string Title { get; set; }
    public string Link { get; set; }
    public string AtomLink { get; set; }
    public string Description { get; set; }
    public DateTime LastBuildDate { get; set; }
    public string Generator { get; set; }
    public string Language { get; set; }
    public string UpdatePeriod { get; set; }
    public int UpdateFrequency { get; set; }
    public RssItems Item { get; set; }
}
.

item.cs

public class Item 
{
        public string Title { get; set; }
        public string Link { get; set; }
        public string Comments { get; set; }
        public DateTime PubDate { get; set; }
        public string Creator { get; set; }
        public string Category { get; set; }
        public string Description { get; set; }
        public string Content { get; set; }
        public string Guid { get; set; }
        public string CommentRss { get; set; }
        public int SlashComments { get; set; }
  }
.

Я открыт для использования чего-то другого, чем Restsharp, но я пробую это, чтобы это надеется, что это будет хорошее простое решение.

В настоящее время любое поле с Cdata возвращается как NULL.

Это было полезно?

Решение

Проблема заключалась в том, что я прочитал XML в RSS-канале, и я назвал переменные в элементах класса.Фактический элемент элемента в RSS Feed был доволен: кодирован.

Изменение этой переменной для закодирования исправлена, полностью моя ошибка.

public class Item 
{
        public string Title { get; set; }
        public string Link { get; set; }
        public string Comments { get; set; }
        public DateTime PubDate { get; set; }
        public string Creator { get; set; }
        public string Category { get; set; }
        public string Description { get; set; }
        public string Encoded { get; set; }
        public string Guid { get; set; }
        public string CommentRss { get; set; }
        public int SlashComments { get; set; }
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top