commit | 08c86f8b2a9d9ce4915fd4e8c1896f8f01a9a3c8 | [log] [tgz] |
---|---|---|
author | John Messerly <jmesserly@google.com> | Thu Mar 05 07:47:29 2015 -0800 |
committer | John Messerly <jmesserly@google.com> | Thu Mar 05 13:23:22 2015 -0800 |
tree | ef69b77d8f11616d99827a6829d9a8882254245b | |
parent | 53990c39e6ee76bf42bdcece210dffae4e66ee48 [diff] |
Fixes encoding parser to handle whitespace correctly. Caught this while investigating an unused local. In Python, the iterator would advance, but in the port it was not.
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.
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