V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
3dwelcome
V2EX  ›  问与答

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

  •  
  •   3dwelcome · 2021-03-29 15:46:46 +08:00 · 1106 次点击
    这是一个创建于 1364 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    4 条回复    2021-03-29 20:06:16 +08:00
    mopig
        1
    mopig  
       2021-03-29 18:54:39 +08:00
    把源码放进编辑器里面格式化一下就行了吧
    autoxbc
        2
    autoxbc  
       2021-03-29 19:46:32 +08:00   ❤️ 1
    格式化有 prettier.js ,结构化有 jsdom,xml 能做的 html 都能做。Text 虽然不是 Element,不过仍然是 Node,可以用 Node.prototype 上的方法去操作
    3dwelcome
        3
    3dwelcome  
    OP
       2021-03-29 19:51:57 +08:00
    @mopig 主要是想自动化处理 html 的各个节点,由于 Text 不属于任何一个节点,程序处理起来就比较尴尬。
    可能也有其他办法,比如楼上的 jsdom,我再查查相关资料。
    3dwelcome
        4
    3dwelcome  
    OP
       2021-03-29 20:06:16 +08:00
    多谢二楼提供线索,顺藤摸瓜,找出了 https://github.com/inikulin/parse5 里的 Online playground
    有很多静态 HTML5 解析引擎,可以完美解析和导出 XML/TextNode/Json 。
    任务结束,完结撒花。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1736 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:16 · PVG 00:16 · LAX 08:16 · JFK 11:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.