Expand description
Library for serializing the RSS web content syndication format.
§Reading
A channel can be read from any object that implements the BufRead trait.
§From a file
use std::fs::File;
use std::io::BufReader;
use rss::Channel;
let file = File::open("example.xml").unwrap();
let channel = Channel::read_from(BufReader::new(file)).unwrap();§From a buffer
Note: This example requires reqwest crate.
ⓘ
use std::error::Error;
use rss::Channel;
async fn example_feed() -> Result<Channel, Box<dyn Error>> {
let content = reqwest::get("http://example.com/feed.xml")
.await?
.bytes()
.await?;
let channel = Channel::read_from(&content[..])?;
Ok(channel)
}§Writing
A channel can be written to any object that implements the Write trait or converted to an
XML string using the ToString trait.
use rss::Channel;
let channel = Channel::default();
channel.write_to(::std::io::sink()).unwrap(); // write to the channel to a writer
let string = channel.to_string(); // convert the channel to a string§Creation
Builder methods are provided to assist in the creation of channels.
Note: This requires the builders feature, which is enabled by default.
use rss::ChannelBuilder;
let channel = ChannelBuilder::default()
.title("Channel Title")
.link("http://example.com")
.description("An RSS feed.")
.build();§Validation
Validation methods are provided to validate the contents of a channel against the RSS specification.
Note: This requires enabling the validation feature.
ⓘ
use rss::Channel;
use rss::validation::Validate;
let channel = Channel::default();
channel.validate().unwrap();Modules§
- Types and methods for namespaced extensions.
- Methods for validating RSS feeds.
Structs§
- Represents a category in an RSS feed.
- Builder for
Category. - Represents the channel of an RSS feed.
- Builder for
Channel. - Represents a cloud in an RSS feed.
- Builder for
Cloud. - Represents an enclosure in an RSS item.
- Builder for
Enclosure. - Represents the GUID of an RSS item.
- Builder for
Guid. - Represents an image in an RSS feed.
- Builder for
Image. - Represents an item in an RSS feed.
- Builder for
Item. - Represents the source of an RSS item.
- Builder for
Source. - Represents a text input for an RSS channel.
- Builder for
TextInput.
Enums§
- Errors that occur during parsing.