29 个版本
0.12.3 | 2024 年 5 月 11 日 |
---|---|
0.12.2 | 2023 年 7 月 26 日 |
0.12.1 | 2023 年 3 月 27 日 |
0.12.0 | 2022 年 12 月 29 日 |
0.1.1 | 2015 年 5 月 22 日 |
#216 在 解析器实现
15,836 每月下载量
用于 30 个 仓库(23 个直接使用)
135KB
2.5K SLoC
atom
用于序列化 Atom 网页内容订阅格式的库。
此软件包需要 Rustc 版本 1.57.0 或更高。
使用
将依赖项添加到您的 Cargo.toml
。
[dependencies]
atom_syndication = "0.12"
或者,如果您想使用 Serde,请按如下方式包含功能
[dependencies]
atom_syndication = { version = "0.12", features = ["with-serde"] }
该软件包包含一个名为 atom_syndication
的单个 crate。
extern crate atom_syndication;
读取
可以从实现 BufRead
特性的任何对象中读取一个源,或使用 FromStr
特性。
use std::fs::File;
use std::io::BufReader;
use atom_syndication::Feed;
let file = File::open("example.xml").unwrap();
let feed = Feed::read_from(BufReader::new(file)).unwrap();
let string = "<feed></feed>";
let feed = string.parse::<Feed>().unwrap();
写入
可以将源写入实现 Write
特性的任何对象,或使用 ToString
特性将其转换为 XML 字符串。
注意:写入源时不会执行任何 XML 实体的转义。
示例
use std::fs::File;
use std::io::{BufReader, sink};
use atom_syndication::Feed;
let file = File::open("example.xml").unwrap();
let feed = Feed::read_from(BufReader::new(file)).unwrap();
// write to the feed to a writer
feed.write_to(sink()).unwrap();
// convert the feed to a string
let string = feed.to_string();
无效的源
作为解析无效源的最佳尝试,atom_syndication
将 Atom 规范中声明为“必需”的元素默认为空字符串。
许可
根据您的选择,许可如下
- Apache 许可协议第 2 版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
依赖项
~6MB
~163K SLoC