Как удалить комментарии из HTML с помощью Agility Pack без потери DOCTYPE

Я пытаюсь удалить ненужное содержимое из HTML. В частности, я хочу удалить комментарии. Я нашел довольно хорошее решение ( Получение мета-тегов и комментариев с помощью 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);
    }
}

10
задан Community 23 May 2017 в 12:00
поделиться