5个不稳定版本
0.3.1 | 2022年1月1日 |
---|---|
0.3.0 | 2022年1月1日 |
0.2.1 | 2021年12月27日 |
0.2.0 | 2021年12月27日 |
0.1.0 | 2021年12月23日 |
40 在 #query-parser
每月 24次下载
33KB
678 行
警告
此仓库已弃用,请改用 html-editor。
如果您想拥有此crate名称的所有权,请联系我 [email protected],以便我可以将其转让给您。
HTML查询解析器
纯、简洁、优雅的HTML解析器和查询选择器。
示例
解析HTML片段/文档
let document = parse("<!doctype html><html><head></head><body></body></html>");
println!("{:#?}", document);
输出
[
Doctype,
Element {
name: "html",
attrs: {},
children: [
Element {
name: "head",
attrs: {},
children: [],
},
Element {
name: "body",
attrs: {},
children: [],
},
],
},
]
通过类名查询元素
// let html = r#"..."#
let nodes = parse(html);
let selector: Selector = Selector::from(".last");
let element: Element = nodes.query(&selector).unwrap();
通过标签查询所有元素
// let html = r#"..."#
let nodes = parse(html);
let selector: Selector = Selector::from("span");
let elements: Vec<Element> = nodes.query_all(&selector);
编辑HTML
// let html = r#"..."#
let a: String = parse(html).trim().html();
let b: String = parse(html).insert_to(&selector, node).html();
let c: String = parse(html).remove_by(&selector).html();
您可以在 文档 中找到更多示例。
更新日志
在 CHANGELOG.md 中查看