initial commit
[JIRC.git] / node_modules / jsdom / node_modules / htmlparser / pulls / node-htmlparser / utils_example.js
1 //node --prof --prof_auto profile.js
2 //deps/v8/tools/mac-tick-processor v8.log
3 var sys = require("sys");
4 var htmlparser = require("./lib/node-htmlparser");
5
6 var html = "<a>text a</a><b id='x'>text b</b><c class='y'>text c</c><d id='z' class='w'><e>text e</e></d><g class='g h i'>hhh</g><yy>hellow</yy><yy id='secondyy'>world</yy>";
7
8 var handler = new htmlparser.DefaultHandler(function(err, dom) {
9 if (err) {
10 sys.debug("Error: " + err);
11 }
12 else {
13 sys.debug(sys.inspect(dom, false, null));
14 var id = htmlparser.DomUtils.getElementById("x", dom);
15 sys.debug("id: " + sys.inspect(id, false, null));
16 var class = htmlparser.DomUtils.getElements({ class: "y" }, dom);
17 sys.debug("class: " + sys.inspect(class, false, null));
18 var multiclass = htmlparser.DomUtils.getElements({ class: function (value) { return(value && value.indexOf("h") > -1); } }, dom);
19 sys.debug("multiclass: " + sys.inspect(multiclass, false, null));
20 var name = htmlparser.DomUtils.getElementsByTagName("a", dom);
21 sys.debug("name: " + sys.inspect(name, false, null));
22 var text = htmlparser.DomUtils.getElementsByTagType("text", dom);
23 sys.debug("text: " + sys.inspect(text, false, null));
24 var nested = htmlparser.DomUtils.getElements({ tag_name: "d", id: "z", class: "w" }, dom);
25 nested = htmlparser.DomUtils.getElementsByTagName("e", nested);
26 nested = htmlparser.DomUtils.getElementsByTagType("text", nested);
27 sys.debug("nested: " + sys.inspect(nested, false, null));
28 var double = htmlparser.DomUtils.getElementsByTagName("yy", dom);
29 sys.debug("double: " + sys.inspect(double, false, null));
30 var single = htmlparser.DomUtils.getElements( { tag_name: "yy", id: "secondyy" }, dom);
31 sys.debug("single: " + sys.inspect(single, false, null));
32 }
33 }, { verbose: false });
34 var parser = new htmlparser.Parser(handler);
35 parser.parseComplete(html);