有没有什么工具能把 HTML 转成 XML 格式?

2021-03-29 15:46:46 +08:00
 3dwelcome

比如 chrome 存下来的 html 默认是没有缩进的,我希望能和 XML 一样,用节点 /文本编辑器,来编辑 HTML 文本。又或者用 XML 处理代码,对 HTML 进行自动化加工处理。

可是很多网页保存下来,比如 V2EX 的页面,div 之间都有 TextNode 。比如... < /div> same text< div>... 而且文本里会有换行,很难用一个 HTML 标签包裹。

有没有好办法能转化两者吗?或者,HTML 为什么不定义一个 TextNode 节点呢?浏览器里有,存成 HTML 就消失了。

986 次点击
所在节点    问与答
4 条回复
mopig
2021-03-29 18:54:39 +08:00
把源码放进编辑器里面格式化一下就行了吧
autoxbc
2021-03-29 19:46:32 +08:00
格式化有 prettier.js ,结构化有 jsdom,xml 能做的 html 都能做。Text 虽然不是 Element,不过仍然是 Node,可以用 Node.prototype 上的方法去操作
3dwelcome
2021-03-29 19:51:57 +08:00
@mopig 主要是想自动化处理 html 的各个节点,由于 Text 不属于任何一个节点,程序处理起来就比较尴尬。
可能也有其他办法,比如楼上的 jsdom,我再查查相关资料。
3dwelcome
2021-03-29 20:06:16 +08:00
多谢二楼提供线索,顺藤摸瓜,找出了 https://github.com/inikulin/parse5 里的 Online playground
有很多静态 HTML5 解析引擎,可以完美解析和导出 XML/TextNode/Json 。
任务结束,完结撒花。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/766184

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX