rss-rs 0.3.2

Deprecated. This project has been merged with the `rss` crate.
Documentation
use std::io::BufRead;

use quick_xml::{XmlReader, Event};

use fromxml::FromXml;
use channel::Channel;
use error::Error;

pub fn parse<R: BufRead>(reader: XmlReader<R>) -> Result<Channel, Error> {
    let mut reader = reader.trim_text(true);

    while let Some(e) = reader.next() {
        match e {
            Ok(Event::Start(element)) => {
                if element.name() == b"channel" {
                    return Channel::from_xml(reader, element).map(|v| v.0);
                }
            }
            Err(err) => return Err(err.into()),
            _ => {}
        }
    }

    Err(Error::EOF)
}