The DOM handler creates a tree containing all nodes of a page. The tree can be manipulated using the domutils or cheerio libraries and rendered using dom-serializer .
consthandler=newDomHandler([<func> callback(err, dom), ] [ <obj> options ]);
// const parser = new Parser(handler[, options]);Available options are described below.
const{ Parser }=require("htmlparser2");const{ DomHandler }=require("domhandler");constrawHtml="Xyz <script language= javascript>var foo = '<<bar>>';</script><!--<!-- Waah! -- -->";consthandler=newDomHandler((error,dom)=>{if(error){// Handle error}else{// Parsing completed, do somethingconsole.log(dom);}});constparser=newParser(handler);parser.write(rawHtml);parser.end();Output:
[{data: "Xyz ",type: "text",},{type: "script",name: "script",attribs: {language: "javascript",},children: [{data: "var foo = '<bar>';<",type: "text",},],},{data: "<!-- Waah! -- ",type: "comment",},];Add a startIndex property to nodes.
When the parser is used in a non-streaming fashion, startIndex is an integer
indicating the position of the start of the node in the document.
The default value is false.
Add an endIndex property to nodes.
When the parser is used in a non-streaming fashion, endIndex is an integer
indicating the position of the end of the node in the document.
The default value is false.
License: BSD-2-Clause
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.