Struct rss::Item

source · []
pub struct Item {
Show 14 fields pub title: Option<String>, pub link: Option<String>, pub description: Option<String>, pub author: Option<String>, pub categories: Vec<Category>, pub comments: Option<String>, pub enclosure: Option<Enclosure>, pub guid: Option<Guid>, pub pub_date: Option<String>, pub source: Option<Source>, pub content: Option<String>, pub extensions: ExtensionMap, pub itunes_ext: Option<ITunesItemExtension>, pub dublin_core_ext: Option<DublinCoreExtension>,
}
Expand description

Represents an item in an RSS feed.

Fields

title: Option<String>

The title of the item.

link: Option<String>

The URL of the item.

description: Option<String>

The item synopsis.

author: Option<String>

The email address of author of the item.

categories: Vec<Category>

The categories the item belongs to.

comments: Option<String>

The URL for the comments page of the item.

enclosure: Option<Enclosure>

The description of a media object that is attached to the item.

guid: Option<Guid>

A unique identifier for the item.

pub_date: Option<String>

The date the item was published as an RFC 2822 timestamp.

source: Option<Source>

The RSS channel the item came from.

content: Option<String>

The HTML contents of the item.

extensions: ExtensionMap

The extensions for the item.

itunes_ext: Option<ITunesItemExtension>

The iTunes extension for the item.

dublin_core_ext: Option<DublinCoreExtension>

The Dublin Core extension for the item.

Implementations

Return the title of this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_title("Item Title".to_string());
assert_eq!(item.title(), Some("Item Title"));

Set the title of this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_title("Item Title".to_string());

Return the URL of this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_link("http://example.com".to_string());
assert_eq!(item.link(), Some("http://example.com"));

Set the URL of this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_link("http://example.com".to_string());

Return the description of this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_description("Item description".to_string());
assert_eq!(item.description(), Some("Item description"));

Return the description of this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_description("Item description".to_string());

Return the email address for the author of this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_author("John Doe".to_string());
assert_eq!(item.author(), Some("John Doe"));

Set the email address for the author of this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_author("John Doe".to_string());

Return the categories that this item belongs to.

Examples
use rss::{Category, Item};

let mut item = Item::default();
item.set_categories(vec![Category::default()]);
assert_eq!(item.categories().len(), 1);

Return a mutable slice of the categories that this item belongs to.

Set the categories that this item belongs to.

Examples
use rss::{Category, Item};

let mut item = Item::default();
item.set_categories(vec![Category::default()]);

Return the URL for comments about this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_comments("http://example.com".to_string());
assert_eq!(item.comments(), Some("http://example.com"));

Set the URL for comments about this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_comments("http://example.com".to_string());

Return the enclosure information for this item.

Examples
use rss::{Enclosure, Item};

let mut item = Item::default();
item.set_enclosure(Enclosure::default());
assert!(item.enclosure().is_some());

Set the enclosure information for this item.

Examples
use rss::{Enclosure, Item};

let mut item = Item::default();
item.set_enclosure(Enclosure::default());

Return the GUID for this item.

Examples
use rss::{Guid, Item};

let mut item = Item::default();
item.set_guid(Guid::default());
assert!(item.guid().is_some())

Set the GUID for this item.

Examples
use rss::{Guid, Item};

let mut item = Item::default();
item.set_guid(Guid::default());

Return the publication date of this item as an RFC 2822 timestamp.

Examples
use rss::Item;

let mut item = Item::default();
item.set_pub_date("Sun, 01 Jan 2017 12:00:00 GMT".to_string());
assert_eq!(item.pub_date(), Some("Sun, 01 Jan 2017 12:00:00 GMT"));

Set the publication date of this item as an RFC 2822 timestamp.

Examples
use rss::Item;

let mut item = Item::default();
item.set_pub_date("Sun, 01 Jan 2017 12:00:00 GMT".to_string());
assert_eq!(item.pub_date(), Some("Sun, 01 Jan 2017 12:00:00 GMT"));
Using chrono::DateTime
use rss::Item;
use chrono::{FixedOffset, TimeZone, Utc};

let mut item = Item::default();
item.set_pub_date(Utc.ymd(2017, 1, 1).and_hms(12, 0, 0).to_rfc2822());
assert_eq!(item.pub_date(), Some("Sun, 01 Jan 2017 12:00:00 +0000"));

item.set_pub_date(FixedOffset::east(2 * 3600).ymd(2017, 1, 1).and_hms(12, 0, 0).to_rfc2822());
assert_eq!(item.pub_date(), Some("Sun, 01 Jan 2017 12:00:00 +0200"));

Return the source URL for this item.

Examples
use rss::{Item, Source};

let mut item = Item::default();
item.set_source(Source::default());
assert!(item.source().is_some());

Set the source URL for this item.

Examples
use rss::{Item, Source};

let mut item = Item::default();
item.set_source(Source::default());

Return the content of this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_content("Item content".to_string());
assert_eq!(item.content(), Some("Item content"));

Set the content of this item.

Examples
use rss::Item;

let mut item = Item::default();
item.set_content("Item content".to_string());

Return the iTunes extension for this item.

Examples
use rss::Item;
use rss::extension::itunes::ITunesItemExtension;

let mut item = Item::default();
item.set_itunes_ext(ITunesItemExtension::default());
assert!(item.itunes_ext().is_some());

Set the iTunes extension for this item.

Examples
use rss::Item;
use rss::extension::itunes::ITunesItemExtension;

let mut item = Item::default();
item.set_itunes_ext(ITunesItemExtension::default());

Return the Dublin Core extension for this item.

Examples
use rss::Item;
use rss::extension::dublincore::DublinCoreExtension;

let mut item = Item::default();
item.set_dublin_core_ext(DublinCoreExtension::default());
assert!(item.dublin_core_ext().is_some());

Set the Dublin Core extension for this item.

Examples
use rss::Item;
use rss::extension::dublincore::DublinCoreExtension;

let mut item = Item::default();
item.set_dublin_core_ext(DublinCoreExtension::default());

Return the extensions for this item.

Examples
use std::collections::BTreeMap;
use rss::Item;
use rss::extension::{ExtensionMap, Extension};

let extension = Extension::default();

let mut item_map = BTreeMap::<String, Vec<Extension>>::new();
item_map.insert("ext:name".to_string(), vec![extension]);

let mut extension_map = ExtensionMap::default();
extension_map.insert("ext".to_string(), item_map);

let mut item = Item::default();
item.set_extensions(extension_map);
assert_eq!(item.extensions()
               .get("ext")
               .and_then(|m| m.get("ext:name"))
               .map(|v| v.len()),
           Some(1));

Set the extensions for this item.

Examples
use rss::Item;
use rss::extension::ExtensionMap;

let mut item = Item::default();
item.set_extensions(ExtensionMap::default());

Builds an Item from source XML

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.