¿Es posible eliminar el texto comentado en html utilizando la biblioteca htmlagilitypack ? Actualmente estoy realizando un trabajo de migración de ASP a ASP.NET MVC y allí se usa Regex para esas cosas y solo quiero saber si puedo lograrlo utilizando htmlagilitypack antes de comenzar a probarlo.
Puede encontrar todos los nodos del tipo HtmlCommentNode
(que representa un comentario HTML) y eliminarlo del documento. Pero tenga en cuenta que AgilityPack trata, por ejemplo, <!DOCTYPE html>
como un nodo de comentarios. Por lo tanto, los nodos como este deben omitirse para su eliminación:
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;