您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

尝试将DOMParser与Node JS一起使用

尝试将DOMParser与Node JS一起使用

NodeJS本身不提供许多浏览器功能,例如DOM操作或XHR,因为这不是访问DOM的典型服务器任务-您必须使用外部库来执行此操作。

DOM的能力在很大程度上取决于库,以下是您可以使用的主要工具的快速比较:

        const jsdom = require("jsdom");
    const dom = new jsdom.JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
    dom.window.document.querySelector("p").textContent; // 'Hello world'
        const htmlparser = require("htmlparser2");
    const parser = new htmlparser.Parser({
      onopentag: (name, attrib) => {
        if (name=='p') console.log('a paragraph element is opening');
      }
    }, {decodeEntities: true});
    parser.write(`<!DOCTYPE html><p>Hello world</p>`);
    parser.end();
    // console output: 'a paragraph element is opening'
        const cheerio = require('cheerio');
    const $ = cheerio.load(`<!DOCTYPE html><p>Hello world</p>`);
    $('p').text('Bye moon');
    $.html(); // '<!DOCTYPE html><p>Bye moon</p>'

:完全实现DOM级别2,部分实现DOM级别3。与HTML以及XML一起使用

:基于正则表达式的DOM解析器,它实现了一些DOM方法,例如getElementById。由于用正则表达式解析HTML是一个非常糟糕的主意,因此我不建议将其用于生产。

Node 2022/1/1 18:17:38 有509人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶