在 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");
编辑
您可能需要传递一个 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/