在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。