RssItem.parse constructor
RssItem.parse(
- XmlElement element
Factory method to create an RssItem
object from an XmlElement
.
This method parses the element
and extracts the relevant information from it
to create an RssItem
object and returns it.
The extracted information includes the title, description, link, categories, GUID, publication date, author, comments, source, content, media, enclosure, Dublin Core metadata, iTunes metadata, podcast metadata, and custom namespace metadata.
Implementation
factory RssItem.parse(XmlElement element) {
return RssItem(
title: element.findElements('title').firstOrNull?.innerText,
description: element.findElements('description').firstOrNull?.innerText,
link: element.findElements('link').firstOrNull?.innerText,
categories: element
.findElements('category')
.map((e) => RssCategory.parse(e))
.toList(),
guid: element.findElements('guid').firstOrNull?.innerText,
pubDate:
parseDateTime(element.findElements('pubDate').firstOrNull?.innerText),
author: element.findElements('author').firstOrNull?.innerText,
comments: element.findElements('comments').firstOrNull?.innerText,
source: element
.findElements('source')
.map((e) => RssSource.parse(e))
.firstOrNull,
content: element
.findElements('content:encoded')
.map((e) => RssContent.parse(e))
.firstOrNull,
media: Media.parse(element),
enclosure: element
.findElements('enclosure')
.map((e) => RssEnclosure.parse(e))
.firstOrNull,
dc: DublinCore.parse(element),
itunes: Itunes.parse(element),
podcast: PodcastItem.parse(element),
customNamespace: CustomNamespace.parse(element),
);
}