Каким будет предпочтительный способ удалить все пустые и ненужные узлы? Например
<p></p>
следует удалить, а <font><p><span><br></span></p></font>
также следует удалить (поэтому тег br в этом случае считается ненужным)
Должен ли я использовать для этого какую-то рекурсивную функцию? Я думаю что-то вроде этого, может быть:
RemoveEmptyNodes(HtmlNode containerNode)
{
var nodes = containerNode.DescendantsAndSelf().ToList();
if (nodes != null)
{
foreach (HtmlNode node in nodes)
{
if (node.InnerText == null || node.InnerText == "")
{
RemoveEmptyNodes(node.ParentNode);
node.Remove();
}
}
}
}
Но это явно не работает (исключение stackoverflow).
img
пустыми. - person   schedule 20.07.2012