[][src]Trait unhtml::FromHtml

pub trait FromHtml: Sized {
    fn from_html_ref(elem_ref: ElementRef) -> Result<Self, Error>;

    fn from_selector_and_attr(
        selector_str: &str,
        attr: &str,
        elem_ref: ElementRef
    ) -> Result<Self, Error> { ... }
fn from_selector_and_inner_text(
        selector_str: &str,
        elem_ref: ElementRef
    ) -> Result<Self, Error> { ... }
fn from_selector_and_html(
        selector_str: &str,
        elem_ref: ElementRef
    ) -> Result<Self, Error> { ... }
fn from_attr(attr: &str, elem_ref: ElementRef) -> Result<Self, Error> { ... }
fn from_inner_text(elem_ref: ElementRef) -> Result<Self, Error> { ... }
fn from_html(html: &str) -> Result<Self, Error> { ... } }

Deserialize from html

Required methods

fn from_html_ref(elem_ref: ElementRef) -> Result<Self, Error>

Examples

use unhtml::scraper::{Html, Selector};
use unhtml::FromHtml;
let html = Html::parse_fragment(r#"
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="test">
        <a>1</a>
    </div>
</body>
</html>
"#);
let selector = Selector::parse("#test > a").unwrap();
let result = String::from_html_ref(html.select(&selector).next().unwrap()).unwrap();
assert_eq!("<a>1</a>".to_string(), result);
Loading content...

Provided methods

fn from_selector_and_attr(
    selector_str: &str,
    attr: &str,
    elem_ref: ElementRef
) -> Result<Self, Error>

Examples

use unhtml::scraper::{Html, Selector};
use unhtml::FromHtml;
let html = Html::parse_fragment(r#"
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="test">
        <a href="1"></a>
    </div>
</body>
</html>
    "#);
let selector = Selector::parse("#test").unwrap();
let result = u8::from_selector_and_attr("a", "href", html.select(&selector).next().unwrap()).unwrap();
assert_eq!(1u8, result);

fn from_selector_and_inner_text(
    selector_str: &str,
    elem_ref: ElementRef
) -> Result<Self, Error>

Examples

use unhtml::scraper::{Html, Selector};
use unhtml::FromHtml;
let html = Html::parse_fragment(r#"
<body>
    <div id="test">
        <a>1</a>
    </div>
</body>
"#);
let selector = Selector::parse("#test").unwrap();
let result = u8::from_selector_and_inner_text("a", html.select(&selector).next().unwrap()).unwrap();
assert_eq!(1u8, result);

fn from_selector_and_html(
    selector_str: &str,
    elem_ref: ElementRef
) -> Result<Self, Error>

Examples

use unhtml::scraper::{Html, Selector};
use unhtml::FromHtml;
let html = Html::parse_fragment(r#"
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="test">
        <a>1</a>
    </div>
</body>
</html>
"#);
let selector = Selector::parse("#test").unwrap();
let result = String::from_selector_and_html("a", html.select(&selector).next().unwrap()).unwrap();
assert_eq!("<a>1</a>".to_string(), result);

fn from_attr(attr: &str, elem_ref: ElementRef) -> Result<Self, Error>

Examples

use unhtml::scraper::{Html, Selector};
use unhtml::FromHtml;
let html = Html::parse_fragment(r#"
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="test">
        <a href="1"></a>
    </div>
</body>
</html>
"#);
let selector = Selector::parse("#test > a").unwrap();
let result = u8::from_attr("href", html.select(&selector).next().unwrap()).unwrap();
assert_eq!(1u8, result);

fn from_inner_text(elem_ref: ElementRef) -> Result<Self, Error>

Examples

use unhtml::scraper::{Html, Selector};
use unhtml::FromHtml;
let html = Html::parse_fragment(r#"
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="test">
        <a>1</a>
    </div>
</body>
</html>
"#);
let selector = Selector::parse("#test > a").unwrap();
let result = u8::from_inner_text(html.select(&selector).next().unwrap()).unwrap();
assert_eq!(1u8, result);

fn from_html(html: &str) -> Result<Self, Error>

implemented by default for all types that implemented FromStr<Err=E> where E: std::error::Error

Examples

use unhtml::FromHtml;
let result = u8::from_html("1").unwrap();
assert_eq!(1u8, result);
Loading content...

Implementors

impl<E, T> FromHtml for T where
    E: Error + Send + Sync + 'static,
    T: FromStr<Err = E>, 
[src]

fn from_selector_and_attr(
    selector_str: &str,
    attr: &str,
    elem_ref: ElementRef
) -> Result<Self, Error>
[src]

fn from_selector_and_inner_text(
    selector_str: &str,
    elem_ref: ElementRef
) -> Result<Self, Error>
[src]

fn from_selector_and_html(
    selector_str: &str,
    elem_ref: ElementRef
) -> Result<Self, Error>
[src]

fn from_attr(attr: &str, elem_ref: ElementRef) -> Result<Self, Error>[src]

fn from_inner_text(elem_ref: ElementRef) -> Result<Self, Error>[src]

Loading content...