比如 chrome 存下来的 html 默认是没有缩进的,我希望能和 XML 一样,用节点 /文本编辑器,来编辑 HTML 文本。又或者用 XML 处理代码,对 HTML 进行自动化加工处理。
可是很多网页保存下来,比如 V2EX 的页面,div 之间都有 TextNode 。比如... < /div> same text< div>... 而且文本里会有换行,很难用一个 HTML 标签包裹。
有没有好办法能转化两者吗?或者,HTML 为什么不定义一个 TextNode 节点呢?浏览器里有,存成 HTML 就消失了。
1
mopig 2021-03-29 18:54:39 +08:00
把源码放进编辑器里面格式化一下就行了吧
|
2
autoxbc 2021-03-29 19:46:32 +08:00 1
格式化有 prettier.js ,结构化有 jsdom,xml 能做的 html 都能做。Text 虽然不是 Element,不过仍然是 Node,可以用 Node.prototype 上的方法去操作
|
3
3dwelcome OP @mopig 主要是想自动化处理 html 的各个节点,由于 Text 不属于任何一个节点,程序处理起来就比较尴尬。
可能也有其他办法,比如楼上的 jsdom,我再查查相关资料。 |
4
3dwelcome OP 多谢二楼提供线索,顺藤摸瓜,找出了 https://github.com/inikulin/parse5 里的 Online playground
有很多静态 HTML5 解析引擎,可以完美解析和导出 XML/TextNode/Json 。 任务结束,完结撒花。 |