tag | b67d3a6eb327900b7511275f91ce9aea416e74d3 | |
---|---|---|
tagger | Kevin Moore <kevmoo@google.com> | Fri Apr 03 16:49:31 2015 |
object | b193e72b166077f9aab9a65ee98157ac0b9d149b |
commit | b193e72b166077f9aab9a65ee98157ac0b9d149b | [log] [tgz] |
---|---|---|
author | Kevin Moore <kevmoo@google.com> | Fri Apr 03 16:48:50 2015 |
committer | Kevin Moore <kevmoo@google.com> | Fri Apr 03 16:48:50 2015 |
tree | 9a4c9de36d884968617d0c461025612ddb24b3ce | |
parent | 93f119d409f907f892caa27b59beaeb4cbb0ce7c [diff] |
support latest csslib R=jmesserly@google.com Review URL: https://codereview.chromium.org//1059773002
This is a pure Dart html5 parser. It‘s a port of html5lib from Python. Since it’s 100% Dart you can use it safely from a script or server side app.
Eventually the parse tree API will be compatible with dart:html, so the same code will work on the client and the server.
(Formally known as html5lib.)
Add this to your pubspec.yaml
(or create it):
dependencies: html: any
Then run the Pub Package Manager (comes with the Dart SDK):
pub install
Parsing HTML is easy!
import 'package:html/parser.dart' show parse; import 'package:html/dom.dart'; main() { var document = parse( '<body>Hello world! <a href="www.html5rocks.com">HTML5 rocks!'); print(document.outerHtml); }
You can pass a String or list of bytes to parse
. There's also parseFragment
for parsing a document fragment, and HtmlParser
if you want more low level control.
./test/run.sh