parse-html
A simple Rust project to parse HTML.
Features
- Tokenizes HTML input into structured tokens.
- Parses tokens into a tree DOM.
- Supports querying elements by ID, class, tag name.
- Chaining queries. For example, you can query elements by ID and then filter by class or tag name.
Usage
use parse_html::{dom::dom_tree::DomTree, lexer::tokenizer::Lexer, parser::ast::Parser};
fn main() {
let html = r#"<div id="main"><p>Hello</p></div>"#;
match DomTree::new::<Lexer, Parser>(html) {
Ok(dom) => {
if let Some(container) = dom.get_by_id("main") {
println!("Node id='main' {:?}", container);
} else {
println!("Id not found");
}
}
Err(e) => println!("Erreur de parsing : {:?}", e),
}
}
License
MIT