1
是否可以使用htmlagilitypack庫刪除html中的註釋文本?目前,我正在做一些從ASP到ASP.NET MVC的遷移工作,在那裏它使用Regex這些東西,只是想知道我可以在開始嘗試之前使用htmlagilitypack來實現。如何使用htmlagilitypack刪除html中的註釋文本
是否可以使用htmlagilitypack庫刪除html中的註釋文本?目前,我正在做一些從ASP到ASP.NET MVC的遷移工作,在那裏它使用Regex這些東西,只是想知道我可以在開始嘗試之前使用htmlagilitypack來實現。如何使用htmlagilitypack刪除html中的註釋文本
您可以找到類型爲HtmlCommentNode
(代表HTML註釋)的所有節點,並將其從文檔中刪除。但請注意,AgilityPack可以處理<!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;