html - 在 Dart 中将 HTML 字符串解析为 DOM

标签 html parsing dart

在 Dart 中,

我想将字符串“<!DOCTYPE HTMT><html><head></head><body>....</body></html>”解析为 DOM,以便我可以在生成的 DOM 中操作元素。我知道在 JQuery 中,有 $.parseHTML 来处理它。但我在 Dart 中找不到类似的东西。 谢谢。

(我试过html2lib,但是输出的Document不能用query(".classname")来选择。)

最佳答案

您可以通过解析 HTML 文本来创建元素:

new Element.html("YOUR HTML STRING HERE");

参见 Dart: Up and Running CH03

编辑
您可能需要传递一个 NodeValidator 来使整个文本呈现如下:

NodeValidator nodeValidator = new NodeValidatorBuilder()
    ..allowTextElements();
    // ..allowHtml5()
    // ..allowElement('Button', attributes: ['ng-disabled']);

new Element.html("YOUR HTML STRING HERE", validator: nodeValidator);

如果您运行该应用程序,如果某些文本未被 NodeValidator 接受,您会收到类似“元素/属性 xxx 从...中删除”的日志消息。

关于html - 在 Dart 中将 HTML 字符串解析为 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19467115/

相关文章:

firebase - 如何从Firebase Flutter获取fieldValue.arrayUnion数据

html - 有没有办法检测用户是否已经授予使用 navigator.geolocation 的权限?

javascript - 用jQuery模拟复选框悬停效果

javascript - 在 JS 中解析数据的奇怪行为

android - 在 Android Studio 中从 JSON 获取值(value)

image - Flutter-编解码器对象中的图像对象

android - 为什么我在 Flutter AnimatedChecked 中得到了这一点? (自定义油漆)

javascript - ReactJS 中的动态 onClick 和渲染

php - 所有浏览器的屏幕分辨率

python - 如何解析具有多个根元素的xml