joplin-notes/joplin notion extension/Web Development/nodejs/HTML parser.md
2026-11-04 00:33:23 +05:30

901 B

HTML parser

  • jsdom It's an npm library that can take html as input and let you do things like document.querySelector on it inside of NodeJS without running a sandboxed browser instance
  • node-html-parser : like jsdom https://www.npmjs.com/package/node-html-parser eg
      import { parse } from 'node-html-parser';
    
      const root = parse('<ul id="list"><li>Hello World</li></ul>');
    
      console.log(root.firstChild.structure);
      // ul#list
      //   li
      //     #text
    
      console.log(root.querySelector('#list'));
      // { tagName: 'ul',
      //   rawAttrs: 'id="list"',
      //   childNodes:
      //    [ { tagName: 'li',
      //        rawAttrs: '',
      //        childNodes: [Object],
      //        classNames: [] } ],
      //   id: 'list',
      //   classNames: [] }
      console.log(root.toString());
      // <ul id="list"><li>Hello World</li></ul>
      root.set_content('<li>Hello World</li>');
      root.toString();	// <li>Hello World</li>