future_rss

Crates.iofuture_rss
lib.rsfuture_rss
version1.0.2
sourcesrc
created_at2020-05-28 13:07:49.18058
updated_at2020-06-06 13:24:54.411128
descriptionRSS Parser By Future
homepage
repositoryhttps://github.com/MeteorGX/future_rss
max_upload_size
id247024
size19,967
MeteorCat (MeteorGX)

documentation

https://docs.rs/future_rss

README

future_rss

Use Rust to Serialize the Rss structure.

Usage

tokio = { version ="*", features = [ "macros","rt-core" ] }
future_rss = "*"

Examples

Parse Xml
use future_rss::*;


#[tokio::main]
async fn main()->Result<(),Box<dyn std::error::Error>> {
    let address = "https://www.zhihu.com/rss";
    let mut parser = RssParser::from_url(address,"utf8").await?;
    parser.author_tag = String::from("dc:creator");
    
    let rss = parser.parse_vec().await?;
    println!("{:?}",rss);    
    Ok(())
}

Parse Web XMl

use future_rss::RssParser;

#[tokio::main]
async fn main()->Result<(),Box<dyn std::error::Error>> {
    let address = "https://www.zhihu.com/rss";
    let mut parser = RssParser::from_url(address,"utf8").await?;
    parser.author_tag = String::from("dc:creator");
    assert!(parser.parse_json().await.is_ok());
    Ok(())
}

RSS To Json

use future_rss::RssParser;

#[tokio::main]
async fn main()->Result<(),Box<dyn std::error::Error>> {
    let address = "https://www.zhihu.com/rss";
    let mut parser = RssParser::from_url(address,"utf8").await?;
    parser.author_tag = String::from("dc:creator");
    assert!(parser.parse_json().await.is_ok());
    Ok(())
}

Rss Request Builder

use future_rss::RssParser;

#[tokio::main]
async fn main()->Result<(),Box<dyn std::error::Error>> {
    let address = "https://www.zhihu.com/rss";
    let mut parser = RssParser::new();
    parser.author_tag = "dc:creator".into();
    parser.publish_tag = "pubDate".into();
    let xml = parser.request_xml(address.as_str(),charset.as_str()).await?;
    parser.set_xml(xml);
    assert!(parser.parse_vec().await.is_ok());
    Ok(())
}

Advanced

Examples

Commit count: 0

cargo fmt