1

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として返されます。

4

1 に答える 1

0

問題は、RSSフィードのxmlを読み、itemsクラスのコンテンツの変数に名前を付けたことです。RSSフィードの実際のアイテム要素はcontent:encodedでした。

この変数をEncodedに変更すると、完全に私自身のせいで修正されました。

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; }
}
于 2011-05-17T22:24:37.077 に答える