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§
- extension
- Types and methods for namespaced extensions.
Structs§
- Category
- Represents a category in an RSS feed.
- Category
Builder - Builder for
Category
. - Channel
- Represents the channel of an RSS feed.
- Channel
Builder - Builder for
Channel
. - Cloud
- Represents a cloud in an RSS feed.
- Cloud
Builder - Builder for
Cloud
. - Enclosure
- Represents an enclosure in an RSS item.
- Enclosure
Builder - Builder for
Enclosure
. - Guid
- Represents the GUID of an RSS item.
- Guid
Builder - Builder for
Guid
. - Image
- Represents an image in an RSS feed.
- Image
Builder - Builder for
Image
. - Item
- Represents an item in an RSS feed.
- Item
Builder - Builder for
Item
. - Source
- Represents the source of an RSS item.
- Source
Builder - Builder for
Source
. - Text
Input - Represents a text input for an RSS channel.
- Text
Input Builder - Builder for
TextInput
.
Enums§
- Error
- Errors that occur during parsing.