4

我想制作一个准备 HTML 文件的程序。它要么在服务器端,要么只在我的本地机器上运行。

我认为能够使用 dart:html 库会很好,因为它有很多操作 html 的方法(显然)。但它被认为是在客户端动态使用的,我想像这样使用它:用 dart:html 操作一个 html DOM 树,当它准备好时,编写一个静态 html 文件。例如使用query('body').innerHtml

我遇到的问题是,如果我使用“控制台应用程序”模板启动一个项目,我无法让 dart:html 与 html 文件对话。如果我选择“Web 应用程序”,我可以在其中执行此操作,我无法加载 dart:io 库,可能与它在 SDK 中被标记为 [server] 有关吗?

当然我可以这样做:

print(query('body').innerHtml);

并手动将输出复制到文件中,但我认为也许有更优雅的解决方案。

4

1 回答 1

3

请参阅html5lib

纯 Dart 中的 html5lib

这是一个纯 Dart html5 解析器。它是来自 Python 的 html5lib 的一个端口。由于它是 100% Dart,因此您可以从脚本或服务器端应用程序安全地使用它。

最终解析树 API 将与 dart:html 兼容,因此相同的代码将在客户端或服务器上工作。

它还不支持太多的查询方式。

于 2013-04-30T04:40:38.250 回答