I’m using the SyndicationFeed
class to consume some rss feeds. I am wondering how to get the content:encoded
node of an RSS feed. This is the code I’m using:
XmlReader reader = XmlReader.Create(response.GetResponseStream());
SyndicationFeed feed = SyndicationFeed.Load(reader);
foreach (SyndicationItem item in feed.Items)
{
string title = (item.Title != null) ? item.Title.Text : String.Empty;
string content = ??
string pubDate = (item.PublishDate != null) ? item.PublishDate.ToString("r") : String.Empty;
}
I can use item.Summary.Text
but that seems to return the Description
node, which can be just a short summary, while content:encoded
will have the full content. There’s an option for item.content
, but I'm not sure how to use it and documentation is scarce.
Try this :
StringBuilder sb = new StringBuilder();
foreach (SyndicationElementExtension extension in item.ElementExtensions)
{
XElement ele = extension.GetObject<XElement>();
if (ele.Name.LocalName == "encoded" && ele.Name.Namespace.ToString().Contains("content"))
{
sb.Append(ele.Value + "<br/>");
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With