在飞镖中,
我想将字符串“ <!DOCTYPE HTMT><html><head></head><body>....</body></html>
”解析为 DOM,以便我可以操作生成的 DOM 中的元素。我知道在 JQuery 中有 $.parseHTML 来处理它。但我在飞镖中找不到类似的东西。谢谢你。
(我试过 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”的日志消息。
在dart 文档中查看这篇文章
你可以用它来飞镖
import 'dart:html';
并像这样进行解析
querySelector('#theid').text = 'Wake up, sleepy head!';
}
如果出现颤动,您必须在 pubspec.yaml 中的 cupertino_icons 依赖项下方添加“html”包,例如
html: ^0.13.3+3
然后你必须导入它的飞镖文件
import 'package:html/parser.dart' as parser;
然后像以前一样进行解析,但记得在每个方法之前添加别名!