1
我试图将RSS源反序列化为rssEntry对象的列表。使用RestSharp将XML CDATA反序列化为字符串变量
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字段都返回为空。
这可能是RestSharp中的一个错误。如果您可以在Google群组中提供示例XML和类别定义,那么我也可以对http://groups.google.com/group/restsharp – 2011-05-16 20:52:22
进行疑难解答,除非您将XML作为请求正文发送,否则不需要指定requestformat (罕见) – 2011-05-16 20:53:23
谢谢,我删除了RequestFormat并发布到Google组。 – sclarson 2011-05-17 04:32:54