Trait soup::QueryBuilderExt[][src]

pub trait QueryBuilderExt {
    fn get_handle(&self) -> Handle;

    fn limit<'a>(&self, limit: usize) -> QueryBuilder<'a, (), ()> { ... }
fn tag<'a, P: Pattern>(
        &self,
        tag: P
    ) -> QueryBuilder<'a, TagQuery<P>, QueryWrapper<'a, (), ()>> { ... }
fn attr_name<'a, P>(
        &self,
        name: P
    ) -> QueryBuilder<'a, AttrQuery<P, bool>, QueryWrapper<'a, (), ()>>
    where
        P: Pattern
, { ... }
fn attr_value<'a, P>(
        &self,
        value: P
    ) -> QueryBuilder<'a, AttrQuery<bool, P>, QueryWrapper<'a, (), ()>>
    where
        P: Pattern
, { ... }
fn attr<'a, P, Q>(
        &self,
        name: P,
        value: Q
    ) -> QueryBuilder<'a, AttrQuery<P, Q>, QueryWrapper<'a, (), ()>>
    where
        P: Pattern,
        Q: Pattern
, { ... }
fn class<'a, P: Pattern>(
        &self,
        value: P
    ) -> QueryBuilder<'a, AttrQuery<&'static str, P>, QueryWrapper<'a, (), ()>> { ... }
fn recursive<'a>(&self, recursive: bool) -> QueryBuilder<'a, (), ()> { ... }
fn children(&self) -> NodeChildIter { ... }
fn parents(&self) -> NodeParentIter { ... } }

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

Loading content...

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]

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]

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]

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]

Starts building a Query, with attr attr

fn class<'a, P: Pattern>(
    &self,
    value: P
) -> QueryBuilder<'a, AttrQuery<&'static str, P>, QueryWrapper<'a, (), ()>>
[src]

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()]);
Loading content...

Implementations on Foreign Types

impl QueryBuilderExt for Handle[src]

Loading content...

Implementors

impl QueryBuilderExt for Soup[src]

Loading content...