在dart中将HTML字符串解析为DOM
在飞镖中 我想将字符串“在dart中将HTML字符串解析为DOM,html,parsing,dart,Html,Parsing,Dart,在飞镖中 我想将字符串“…”解析到一个DOM中,以便在生成的DOM中操作元素。我知道在JQuery中,有$.parseHTML来处理它。但我在dart中找不到类似的东西。 多谢各位 (我尝试了html2lib,但输出文档无法使用查询(“.classname”)进行选择。)尝试。这是100%纯飞镖,所以你应该准备好 您也可以根据HTML的性质考虑一个类似于省道的XML解析器。 您可以通过解析HTML文本来创建元素: new Element.html(“此处为您的html字符串”); 看 编辑 您
…
”解析到一个DOM中,以便在生成的DOM中操作元素。我知道在JQuery中,有$.parseHTML来处理它。但我在dart中找不到类似的东西。
多谢各位
(我尝试了html2lib,但输出文档无法使用查询(“.classname”)
进行选择。)尝试。这是100%纯飞镖,所以你应该准备好
您也可以根据HTML的性质考虑一个类似于省道的XML解析器。
您可以通过解析HTML文本来创建元素:new Element.html(“此处为您的html字符串”);
看
编辑您可能需要传递一个NodeValidator来获得整个文本,如下所示:
NodeValidator NodeValidator=new NodeValidatorBuilder()
…allowTextElements();
//…allowHtml5()
//..allowElement('Button',属性:['ng-disabled']);
html(“此处的html字符串”,验证器:nodeValidator);
如果运行该应用程序,如果NodeValidator不接受某些文本,则会收到类似“element/attribute xxx removed from…”的日志消息。请在中查看本文 您可以将其用于dart
import 'dart:html';
然后像这样进行解析
querySelector('#theid').text = 'Wake up, sleepy head!';
}
如果出现flift,您必须在pubspec.yaml中的cupertino_图标依赖项下面添加“html”包,例如
html: ^0.13.3+3
然后是dart文件,你必须像
import 'package:html/parser.dart' as parser;
然后像以前一样执行解析,但记住在每个方法之前添加别名 谢谢,我试过了,但是我不能用
查询(“.classname”)
来选择里面的元素。也许他们从来没有像承诺的那样考虑过与dart:html的兼容性。很抱歉然后,最简单的方法可能就是使用js互操作在Dart应用程序中使用JQuery完成整个解析/操作过程。也许是因为它还在测试版。谢谢~顺便说一句,我注意到,dom=parse(string)
,dart类型是什么?dom
?我在推特上问过维亚切斯拉夫·埃戈罗夫,他回答:[,DocumentFragment。