我试图从HTML中删除不必要的内容.具体来说,我想删除评论.我发现了一个非常好的解决方案(
Grabbing meta-tags and comments using HTML Agility Pack),但DOCTYPE被视为注释,因此随注释一起删除.如何改进下面的代码以确保保留DOCTYPE?
var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(htmlContent); var nodes = htmlDoc.DocumentNode.SelectNodes("//comment()"); if (nodes != null) { foreach (HtmlNode comment in nodes) { comment.ParentNode.RemoveChild(comment); } }
解决方法
检查评论是否不以DOCTYPE开头
foreach (var comment in nodes) { if (!comment.InnerText.StartsWith("DOCTYPE")) comment.ParentNode.RemoveChild(comment); }