Когда я выполняю отладку с помощью приведенного ниже кода, я вижу, что зацикленное перечисление не пусто, и Remove () вызывается на первом и последнем HTML узлах, но они все равно отображаются в htmlDo c .Text после этого. Разве это не правильный способ их удаления?
public static void Temp() {
var htmlDoc = new HtmlDocument();
var htmlText ="<Font>\n</Font><Font>Lorem ipsum dolor\n</Font><Font>\n</Font>";
htmlDoc.LoadHtml(htmlText);
foreach (var emptyNode in htmlDoc.DocumentNode.DescendantsAndSelf().Where(n => string.IsNullOrWhiteSpace(n.InnerHtml)).ToArray()) {
emptyNode.Remove();
}
Console.WriteLine(htmlDoc.Text);
}