import 'package:html/dom.dart'; import 'package:html/dom_parsing.dart'; import 'package:html/parser.dart'; void main(List args) { var document = parse('''

Header 1

Text.

Header 2

More text.
'''); // outerHtml output print('outer html:'); print(document.outerHtml); print(''); // visitor output print('html visitor:'); _Visitor().visit(document); } // Note: this example visitor doesn't handle things like printing attributes and // such. class _Visitor extends TreeVisitor { String indent = ''; @override void visitText(Text node) { if (node.data.trim().isNotEmpty) { print('$indent${node.data.trim()}'); } } @override void visitElement(Element node) { if (isVoidElement(node.localName)) { print('$indent<${node.localName}/>'); } else { print('$indent<${node.localName}>'); indent += ' '; visitChildren(node); indent = indent.substring(0, indent.length - 2); print('$indent'); } } @override void visitChildren(Node node) { for (var child in node.nodes) { visit(child); } } }