xpath_selector 2.0.0 copy "xpath_selector: ^2.0.0" to clipboard
xpath_selector: ^2.0.0 copied to clipboard

outdated

XPath package for HTML and XML, most XPath syntaxs are supported.

xpath_selector #

Pub

An XPath selector for locating Html and Xml elements

English | 中文文档

Easy to use #

You have three ways to do XPath queries


final html = '''<html><div></div></html>''';
final htmlDom = parse(htmlString).documentElement!;
final xml = '''<root><child></child></root>''';
final xmlRoot = XmlDocument
    .parse()
    .rootElement;

// Create by html string
final result1 = XPath.html(html).query('//div');
final result2 = XPath.xml(html).query('//child');

// Or through the dom of the HTML or Xml package
final result3 = XPath.htmlElement(htmlDom).query('//div');
final result4 = XPath.xmlElement(xmlRoot).query('//child');

// Or query directly through element
final result5 = htmlDom.queryXPath('//div');
final result6 = xmlRoot.queryXPath('//child');

// Get all nodes of query results
print(result1.nodes);

// Get the first node of query results
print(result1.node);

// Get all properties of query results
print(result1.attrs);

// Get the first valid property of the query result (not null)
print(result1.attr);

More examples can be referred to Xml | Html

Custom parser #

This package uses html and xml as the default parsing package

If you want to use another parsing package (such as universal_html), Please refer to HtmlNodeTree create your own model.

Extended syntax #

In the attribute selector, the parser extends the following attribute selector in CSS style

Expression Css Description
[@attr='value'] [attr="value"] Selects all elements with attr="value"
[@attr~='value'] [attr~="value"] Selects all elements attribute containing the word "value"
[@attr^='value'] [attr^="value"] Selects all elements whose attr attribute value begins with "value"
[@attr$='value'] [attr$="value"] Selects all elements whose attr attribute value ends with "value"
[@attr*='value'] [attr*="value"] Selects all elements whose attr attribute value contains the substring "value"

Breaking changes #

1.x => 2.0 #

  1. Remove classXPathElement, which merge toXPathNode
  2. In XPathResult, elements=>nodes, elements=>element
9
likes
0
pub points
76%
popularity

Publisher

verified publisherz31.ink

XPath package for HTML and XML, most XPath syntaxs are supported.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

expressions, html, xml

More

Packages that depend on xpath_selector