Question

J'essaie de prendre un flux RSS et de les désérialiser dans une liste d'objets RSSentry.

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

Cela remplit tout dans le contenu sauf contenant CDATA

canal.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; }
  }

Je suis ouvert à utiliser quelque chose d'autre que RestShaRP, mais j'essayais pour cela en espérant que ce serait une belle solution facile.

Actuellement, tout champ avec CDATA est renvoyé comme NULL.

Était-ce utile?

La solution

Le problème était que j'ai lu via le XML dans le flux RSS et j'ai nommé les variables dans le contenu de la classe d'articles.L'élément d'élément réel de l'aliment RSS était content: codé.

Modification de cette variable à codée corrigée, complètement ma propre faute.

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; }
}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top