如何使用AngleSharp从HTML字符串中查找所有注释标记。评论可以是单行也可以是多行。
<!-- Single line comment. -->
<!-- Multi-
ple line comment.
Lots '""' ' " ` ~ |}{556 of !@#$%^&*()) lines
in
this
comme-
nt! -->
答案 0 :(得分:2)
您可以使用Descendents
中的AngleSharp.Extensions.ApiExtensions
扩展名方法检索评论标记。注释不是元素,因此您不能像通常那样查询它们,但是此扩展方法允许您检索特定类型的节点。
IEnumerable<IComment> comments = document.Descendents<IComment>();
示例:
using AngleSharp;
using AngleSharp.Parser.Html;
using AngleSharp.Dom; // For IComment
using AngleSharp.Extensions; // For Descendents
var parser = new HtmlParser();
var source = @"<!-- Single line comment. -->
<!-- Multi-
ple line comment.
Lots '""""' ' "" ` ~ |}{556 of !@#$%^&*()) lines
in
this
comme -
nt!-->";
var document = parser.Parse(source);
// Get all comment nodes
IEnumerable<IComment> comments = document.Descendents<IComment>();
// Get the text in the comment nodes
foreach (IComment comment in comments)
{
var textValue = comment.TextContent;
...
}