Trait soup::QueryBuilderExt [−][src]
Adds the QueryBuilder constructor methods to the implementing type
Required methods
fn get_handle(&self) -> Handle
[src]
Retrieves the Handle that these methods will work on
Provided methods
fn limit<'a>(&self, limit: usize) -> QueryBuilder<'a, (), ()>
[src]
Starts building a Query, with limit limit
fn tag<'a, P: Pattern>(
&self,
tag: P
) -> QueryBuilder<'a, TagQuery<P>, QueryWrapper<'a, (), ()>>
[src]
&self,
tag: P
) -> QueryBuilder<'a, TagQuery<P>, QueryWrapper<'a, (), ()>>
Starts building a Query, with tag tag
fn attr_name<'a, P>(
&self,
name: P
) -> QueryBuilder<'a, AttrQuery<P, bool>, QueryWrapper<'a, (), ()>> where
P: Pattern,
[src]
&self,
name: P
) -> QueryBuilder<'a, AttrQuery<P, bool>, QueryWrapper<'a, (), ()>> where
P: Pattern,
Starts building a Query, with attr name name
fn attr_value<'a, P>(
&self,
value: P
) -> QueryBuilder<'a, AttrQuery<bool, P>, QueryWrapper<'a, (), ()>> where
P: Pattern,
[src]
&self,
value: P
) -> QueryBuilder<'a, AttrQuery<bool, P>, QueryWrapper<'a, (), ()>> where
P: Pattern,
Starts building a Query, with attr value value
fn attr<'a, P, Q>(
&self,
name: P,
value: Q
) -> QueryBuilder<'a, AttrQuery<P, Q>, QueryWrapper<'a, (), ()>> where
P: Pattern,
Q: Pattern,
[src]
&self,
name: P,
value: Q
) -> QueryBuilder<'a, AttrQuery<P, Q>, QueryWrapper<'a, (), ()>> where
P: Pattern,
Q: Pattern,
Starts building a Query, with attr attr
fn class<'a, P: Pattern>(
&self,
value: P
) -> QueryBuilder<'a, AttrQuery<&'static str, P>, QueryWrapper<'a, (), ()>>
[src]
&self,
value: P
) -> QueryBuilder<'a, AttrQuery<&'static str, P>, QueryWrapper<'a, (), ()>>
Starts building a Query, with class class
fn recursive<'a>(&self, recursive: bool) -> QueryBuilder<'a, (), ()>
[src]
Starts building a Query, with recursion set to recursive
fn children(&self) -> NodeChildIter
[src]
Returns an iterator over the node’s children
Example
use soup::prelude::*; let soup = Soup::new(r#"<ul><li>ONE</li><li>TWO</li><li>THREE</li></ul>"#); let ul = soup.tag("ul").find().expect("couldn't find 'ul'"); let li_text = ul.children() .filter(|node| node.is_element()) .map(|node| node.text().to_string()) .collect::<Vec<_>>(); assert_eq!(li_text, vec!["ONE".to_string(), "TWO".to_string(), "THREE".to_string()]);
fn parents(&self) -> NodeParentIter
[src]
Iterator over the parents of a node
Example
use soup::prelude::*; let soup = Soup::new(r#"<div><p><b>FOO</b></p></div>"#); let b = soup.tag("b").find().expect("Couldn't find tag 'b'"); let parents = b.parents().map(|node| node.name().to_string()).collect::<Vec<_>>(); assert_eq!(parents, vec!["p".to_string(), "div".to_string(), "body".to_string(), "html".to_string(), "[document]".to_string()]);