清除脚本可以这样:
foreach(var script in doc.DocumentNode.Descendants("script").ToArray())
script.Remove();
清除样式可以这样:
foreach(var style in doc.DocumentNode.Descendants("style").ToArray())
style.Remove();
清除多行注释,类似下面的:
<!--[if IE]>
<script language="JavaScript"> var objmain = document.getElementById("main"); function updatesize(){ var bodyw = window.document.body.offsetWidth; var w=(bodyw<=790?"790px":"100%"); objmain.style.width=w; } updatesize(); window.onresize = updatesize; </script>
<![endif]-->
可以像下面那样清除:
foreach (var comment in doc.DocumentNode.SelectNodes("//comment()").ToArray())
comment.Remove();
解释:HtmlAgilityPack是使用XPath语法,"//comment()"在XPath中表示“所有注释节点”,关于XPath的详细用法请参考XPath的资料。