Crate htmldom_read

Source
Expand description

§Examples

To load nodes from HTML.

let html = r#"
    <div><p>Text</p></div>
"#;
// Load with default settings.
let nodes = Node::from_html(html, &Default::default()).unwrap().unwrap();
let first_node = nodes.children().get(0).unwrap();
// First node is <div>
assert_eq!("div", first_node.tag_name().unwrap());

let children = first_node.children();

// First child of <div> is <p>
let first_child = children.get(0).unwrap();
assert_eq!("p", first_child.tag_name().unwrap());
/// The child of <p> is Text
assert_eq!("Text", first_child.children().get(0).unwrap().text().unwrap());

Load node with text mixed with children. Text that is not mixed load inside the parent node and not as separate child.

let html = r#"
    <p>Text <sup>child</sup> more text</p>
"#;
let settings = LoadSettings::new().all_text_separately(false);

let from = Node::from_html(html, &settings).unwrap().unwrap();
let node = from.children().get(0).unwrap();
let children = node.children();

let first_text = children.get(0).unwrap();
assert_eq!("Text ", first_text.text().unwrap());

let sup = children.get(1).unwrap();
assert_eq!("child", sup.text().unwrap());

let last_text = children.get(2).unwrap();
assert_eq!(" more text", last_text.text().unwrap());

Structs§

Attribute
Attribute of the tag.
Children
Children of the node. All tags that are inside of parent node are listed in this struct.
ChildrenFetch
Settings to fetch children nodes that apply to given criteria.
ChildrenFetchMut
Mutable ChildrenFetch. Allows to get mutable access to returned nodes.
LoadSettings
Settings that provide different options of how to parse HTML.
Node
Contains information about opening and corresponding closing tags. It also can contain the value of the text between opening and closing tags if there are no children. Otherwise, if there are children mixed with text then each text chunk is separated in it’s own node with other children in order they appear in the code.
OpeningTag
Information carried in the opening tag.

Enums§

ChildrenType
How children are stored in the node.
NodeAccess
How node is being stored and accessed.