htmlagilitypackライブラリを使用してhtmlのコメント付きテキストを削除することは可能ですか?現在、ASPからASP.NET MVCへの移行作業を行っていますが、それらにはRegexが使用されており、試してみる前にhtmlagilitypackを使用してそれを実現できるかどうかを知りたいだけです。
1495 次
1 に答える
3
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;
于 2012-08-30T14:57:03.467 に答える