我想解析字符串“<!DOCTYPE HTMT><html><head></head><body>....</body></html>
”到DOM,这样我可以操纵产生的DOM元素。我知道在JQuery中,有$ .parseHTML来处理它。但我在镖里找不到类似的东西。 谢谢。
(我曾经尝试html2lib,但输出文件不能使用query(".classname")
选择。)
我想解析字符串“<!DOCTYPE HTMT><html><head></head><body>....</body></html>
”到DOM,这样我可以操纵产生的DOM元素。我知道在JQuery中,有$ .parseHTML来处理它。但我在镖里找不到类似的东西。 谢谢。
(我曾经尝试html2lib,但输出文件不能使用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);
如果您运行该应用程序,则会收到类似“元素/属性xxx从...中删除”的日志消息,如果某些文本未被NodeValidator接受。
太棒了!你是男人! –
似乎很酷!我会尝试 – xhg
我在twitter上询问了Vyacheslav Egorov,他给出了这个答案:[https://api.dartlang.org/docs/channels/stable/latest/dart_html/DocumentFragment.html#html],DocumentFragment。 – xhg