是否可以使用htmlagilitypack库删除 html 中的注释文本?目前我正在做一些从 ASP 到 ASP.NET MVC 的迁移工作,它使用Regex来处理这些事情,只是想知道在开始尝试之前我可以使用htmlagilitypack实现它。
问问题
1495 次
1 回答
3
您可以找到所有类型的节点HtmlCommentNode
(代表 HTML 注释)并将其从文档中删除。但请注意,AgilityPack 也将 eg<!DOCTYPE html>
视为注释节点。所以应该跳过这样的节点进行删除:
var doc = new HtmlDocument();
doc.LoadHtml(html);
var comments = doc.DocumentNode.DescendantNodes()
.OfType<HtmlCommentNode>()
.Where(c=>
!c.Comment.StartsWith("<!DOCTYPE", StringComparison.OrdinalIgnoreCase)
).ToList();
foreach (var comment in comments)
comment.Remove();
var result = doc.DocumentNode.InnerHtml;
于 2012-08-30T14:57:03.467 回答