#rss #已废弃 #频道 #合并 # #解析器 #结构体

已废弃 feed

已废弃。该项目已与 rss crate 合并。

19 个稳定版本

使用旧的 Rust 2015

2.1.0 2017年5月26日
2.0.2 2017年3月10日
2.0.1 2017年1月28日
1.2.4 2016年9月16日
1.0.5 2016年3月26日

#12 in #merged

Download history 45/week @ 2024-03-29 10/week @ 2024-04-05 1/week @ 2024-05-17

59 每月下载次数
liste 中使用

LGPL-3.0

200KB
2K SLoC

已废弃。该项目已与 rss crate 合并。


lib.rs:

feed 3.0

这个库用于解析 channels 字段,并根据 channels 规范创建一个包含所有 Channel 元素的 Feed 结构体。

用法

在您的 Cargo.toml 中添加以下内容

[dependencies]
feed = "3.0"

并在您的 crate 根目录下添加以下内容

extern crate feed;

示例

读取源

extern crate rss;
extern crate feed;

use feed::{FromUrl, ChannelGetters};
use rss::Channel;

fn main()
{
    let url = "https://feedpress.me/usererror.xml";

    let channel = Channel::from_url(url).unwrap();
    println!("Feed Title: {:?}", channel.title());
}

写入源

extern crate feed;

use feed::ChannelBuilder;

fn main()
{
    let description = "Ogg Vorbis audio versions of The Linux ".to_owned()
        + "Action Show! A show that covers everything geeks care about in "
        + "the computer industry. Get a solid dose of Linux, gadgets, news "
        + "events and much more!";

    let channel = ChannelBuilder::new()
        .title("The Linux Action Show! OGG")
        .link("http://www.jupiterbroadcasting.com")
        .description(description.as_ref())
        .finalize().unwrap();

    println!("Feed: {:?}", channel.to_string());
}

验证源

extern crate feed;

use feed::ChannelBuilder;

fn main()
{
    let description = "Ogg Vorbis audio versions of The Linux ".to_owned()
        + "Action Show! A show that covers everything geeks care about in "
        + "the computer industry. Get a solid dose of Linux, gadgets, news "
        + "events and much more!";

    let channel = ChannelBuilder::new()
        .title("The Linux Action Show! OGG")
        .link("http://www.jupiterbroadcasting.com")
        .description(description.as_ref())
        .validate().unwrap()
        .finalize().unwrap();

    println!("Feed: {:?}", channel.to_string());
}
extern crate rss;
extern crate feed;

use feed::{FromUrl, Validate};
use rss::Channel;

fn main()
{
    let url = "https://feedpress.me/usererror.xml";

    let channel = Channel::from_url(url).unwrap();
    channel.validate().unwrap();
}

依赖关系

~12–20MB
~319K SLoC