我对节点很新。我正在研究REST调用。我收到了Postman的请求(使用它检查REST api调用)和URL。我需要对该URL的内容进行一些单词级别更改
例如,如果收到的网址是https://en.wikipedia.org/wiki/Main_Page我需要获取其内容(目前正在使用页面上的获取请求执行此操作)并将所有小的“the”更改为“THE”(captialised)。我需要进行许多这样的单词级别更改
为此,我使用节点htmlparser2(https://www.npmjs.com/package/htmlparser2)中的htmlparser2.DomHandler()创建了HTML页面的DOM模型。我能够遍历DOM并改变这个词。
现在我有了一个更新内容的新DOM,我需要将其转换回HTML并将新的html作为响应发送回postman(客户端)。这样我就可以在自己的网页上显示更改的内容
所以我的问题是如何从在node.js中的html-parser2中创建的DOM树创建HTML
PS:我可以在不制作DOM的情况下发送原始html并显示原始内容 DOM:文档对象模型
答案 0 :(得分:0)
只需使用htmlparser-to-html库。
安装它:
.DisableDirectStreaming()
需要它:
npm install --save htmlparser-to-html
我们假设您解析了const html = require('htmlparser-to-html')
标记并将结果dom对象输出到doctype
:
console.log
使用函数[ { name: '!doctype',
data: '!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"',
type: 'directive'} ]
转换dom对象:
html()
结果 - 您解析的标记相同:
html({ name: '!doctype',
data: '!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"',
type: 'directive'})